安卓长按应用图标弹出快捷方式(shortcut)

时间:2021-08-09
本文章向大家介绍安卓长按应用图标弹出快捷方式(shortcut),主要包括安卓长按应用图标弹出快捷方式(shortcut)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、静态方式

1.1、在res/xml/目录下创建一个新的xml文件,这里我们命名为:shortcuts.xml。

代码:

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="static1"
android:enabled="false"
android:icon="@drawable/launch_zhenjiang"
android:shortcutDisabledMessage="@string/nav_btn_login"
android:shortcutLongLabel="@string/nav_btn_login"
android:shortcutShortLabel="@string/nav_btn_login">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.secondui.activity.TestActivity"
android:targetPackage="com.zjapp" />
<categories android:name="android.shortcut.conversation"/>
</shortcut>
<shortcut
android:shortcutId="static2"
android:enabled="true"
android:icon="@drawable/launch_zhenjiang"
android:shortcutDisabledMessage="@string/nav_btn_login"
android:shortcutLongLabel="@string/nav_btn_login"
android:shortcutShortLabel="@string/nav_btn_login">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.secondui.activity.LoginActivity"
android:targetPackage="com.zjapp" />
<categories android:name="android.shortcut.conversation"/>
</shortcut>
</shortcuts>

代码说明:
     1、shortcutId 一个唯一的id,不能重复。
     2、enabled 表示这个shortcut是否可用。不可用时,就不会显示这个快捷方式。
     3、shortcutShortLabel 这里是配置的短名称。如果长名称显示不下, 就显示短名称。这里必须使用@string的方式,不能直接写字符串。
     4、shortcutLongLabel 这里是配置的长名称。launcher会优先选择长名称显示。这里必须使用@string的方式,不能直接写字符串。

     5、shortcutDisabledMessage 这个配置是在我们选择一个不可用的shortcut时给用户的一个提示。没有意义,因为不可用时就不显示这个快捷方式。这里必须使用@string的方式,不能直接写字符串。

     6、intent 这里表示我们点击shortcut时要做什么。targetPackage是你的应用的包名;targetClass是我们要跳转的目标类;这里要注意的是android:action一定要配置, 否则会崩溃。
     7、categories 这个东西目前位置官方只给提供了android.shortcut.conversation。

1.2、在AndroidManifest.xml中启动的activity中添加meta-data。

<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />

  特别说明:只有在具有如下配置的activity中才能添加meta-data来注册快捷方式。

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>


     

 

 

 

原文地址:https://www.cnblogs.com/qynprime/p/15118282.html