7.1.1 - 检查是否使用了SHORTCUT

时间:2016-12-09 19:01:09

标签: android android-intent android-7.1-nougat android-appshortcut

所以,基本上我想要实现的是:了解我何时通过快捷方式访问活动,何时不通过快捷方式访问活动。我正在使用静态快捷方式。

通过文档但没有运气。也许它与意图有关,这是我不掌握的Android编程的一部分。

感谢。

3 个答案:

答案 0 :(得分:3)

使用应用程序快捷方式独有的操作字符串。请注意,操作字符串不需要位于清单中<intent-filter>的{​​{1}}上 - <activity>根本不需要<activity>,AFAIK。

无论如何,您必须在<intent-filter>元素中为应用程序快捷方式设置android:action属性(出于无法解释的原因)。所以,将其设置为某个字符串。然后,在您的活动中,您可以使用<intent>查看用于创建活动的getIntent(),并查看它是否具有此特定操作字符串。如果是,则通过应用程序快捷方式创建活动。

答案 1 :(得分:1)

你可以添加到android:action =“android.intent.action.VIEW”这个每个快捷方式的意图:

<intent
   <extra
         android:name="key"
         android:value="value" />
</intent>

然后在你的活动中检查它:

Intent intentaction = getIntent();


if (intentaction.hasExtra("key")) {

        //Do something 
    }

答案 2 :(得分:0)

官方文件应该给你一些提示,虽然它不直接回答你的问题。 https://developer.android.com/guide/topics/ui/shortcuts.html#tracking-usage

另一种简单的方法可能是在处理动态快捷方式时,您可以在intent中添加某种标志并在目标活动中检查该标志,然后您可以确保从快捷方式调用该活动。

希望它有所帮助...

相关问题