Android 应用程序快捷方式不起作用

标签 android xml

我更新了 Android Studio 以支持 API 25 并在项目中实现它。我也在寻找不同的资源来找到我的问题的正确答案,但没有运气。首先,我需要说明的是,我使用 Action 和 Nova Launcher 在 Android 6.0.1 上测试了应用程序(但 Google 应用程序正常运行)。 所以,我在 AndroidManifest.xml 中实现了:

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

xml - res 中创建了 shortcuts.xml。在那里,我输入:

<shortcut
    android:shortcutId="sc1"
    android:enabled="true"
    android:icon="@drawable/ic_kalendar"
    android:shortcutShortLabel="@string/shortcut_kalendar"
    android:shortcutLongLabel="@string/shortcut_kalendar_long"
    android:shortcutDisabledMessage="@string/message_off">
    <intent
        android:action="android.intent.action.MAIN"
        android:targetClass="com.ips.orto.MainActivity"
        android:targetPackage="com.ips.orto" />
    <intent
        android:action="android.intent.action.VIEW"
        android:targetPackage="com.ips.orto"
        android:targetClass="com.ips.orto.kalendar.Kalendar"/>
</shortcut>

<shortcut
    android:shortcutId="sc2"
    android:enabled="true"
    android:icon="@drawable/ic_else"
    android:shortcutShortLabel="@string/shortcut_else"
    android:shortcutLongLabel="@string/shortcut_else_long"
    android:shortcutDisabledMessage="@string/message_off">
    <intent
        android:action="android.intent.action.MAIN"
        android:targetClass="com.ips.orto.MainActivity"
        android:targetPackage="com.ips.orto" />
    <intent
        android:action="android.intent.action.VIEW"
        android:targetPackage="com.ips.orto"
        android:targetClass="com.ips.orto.else.Something"/>
</shortcut>

我尝试删除属性中的 android:,但仍然无法正常工作。另外,我将 android:exported="true" 添加到 Activity 中指向 Shortcuts 并且我没有创建 shortcuts .xml 在任何特殊的 v- 桶中。 有谁知道我做错了什么?

最佳答案

所以,我终于找到了答案。捕捉非常简单。代码:

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

表示不仅在Mainfestapplication部分添加meta,而且在Activity中添加metashortcuts.xml 中创建定义(例如,如果您定义 ThirdActivity 的快捷方式,您将在 中将上述代码添加到该 Activity list )。此外,刚刚选择的 Activity 需要这一行:

android:exported="true"

然后它在 Action 和 Nova Launcher 以及 Android 7.1 模拟器中都可以正常工作。

关于Android 应用程序快捷方式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40347937/

相关文章:

android - 在 Android Studio 中设置默认单选按钮

java - 从 android 中的服务检测全屏

XML 特定查询

jquery - 使用 jQuery 和 SEO 读取 XML

html - XSLT 将目标 ="_blank"添加到 URL

java - Apache Camel - 从 XML 获取 xpath 值

android - Android ListView 中的 Google Now 风格三点菜单

java - 当编辑文本为空/非空时如何禁用/启用按钮

android - fragment 中的可 ScrollView

java - 无法使用Android在mysql中插入数据