Android7.1(API 25)以后支持类似苹果的3dTouch功能,叫做App Shortcuts.在App icon上长按能弹出一个功能列表,用户可以快速使用一些功能。如下图红色部分。
1 使用静态的App Shortcuts
-(1)找到androidMainfest.xml中启动Activity,添加配置数据[<meta-data>
],类似如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<application ... >
<activity android:name="Main">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
</application>
</manifest>
-(2) 创建资源文件:res/xml/shortcuts.xml.
类似如下:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="compose"
android:enabled="true"
android:icon="@drawable/compose_icon"
android:shortcutShortLabel="@string/compose_shortcut_short_label1"
android:shortcutLongLabel="@string/compose_shortcut_long_label1"
android:shortcutDisabledMessage="@string/compose_disabled_message1">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapplication"
android:targetClass="com.example.myapplication.ComposeActivity" />
<!-- If your shortcut is associated with multiple intents, include them
here. The last intent in the list determines what the user sees when
they launch this shortcut. -->
<categories android:name="android.shortcut.conversation" />
</shortcut>
<!-- Specify more shortcuts here. -->
</shortcuts>
2 动态配置App Shortcuts
动态配置主要用到类:ShortcutManager
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
ShortcutInfo shortcut = new ShortcutInfo.Builder(this, "id1")
.setShortLabel("Web site")
.setLongLabel("Open the web site")
.setIcon(Icon.createWithResource(context, R.drawable.icon_website))
.setIntent(new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.mysite.example.com/")))
.build();
shortcutManager.setDynamicShortcuts(Arrays.asList(shortcut));
参考文章
https://developer.android.com/guide/topics/ui/shortcuts
https://blog.csdn.net/u012846789/article/details/77937620?locationNum=3&fps=1
谷歌官方Demo
链接:https://pan.baidu.com/s/18x_pqHin3NkamfOJRiWroQ 密码:qps6