所以,基本上我想要实现的是:了解我何时通过快捷方式访问活动,何时不访问。我正在使用静态快捷方式。
浏览了文档,但没有运气。也许它更多地与意图有关,这是我不掌握的 Android 编程的一部分。
谢谢。
所以,基本上我想要实现的是:了解我何时通过快捷方式访问活动,何时不访问。我正在使用静态快捷方式。
浏览了文档,但没有运气。也许它更多地与意图有关,这是我不掌握的 Android 编程的一部分。
谢谢。
您可以将 android:action="android.intent.action.VIEW" 意图添加到每个快捷方式:
<intent
<extra
android:name="key"
android:value="value" />
</intent>
然后在您的活动中像这样检查它:
Intent intentaction = getIntent();
if (intentaction.hasExtra("key")) {
//Do something
}
使用应用快捷方式独有的操作字符串。请注意,操作字符串不需要在<intent-filter>
清单<activity>
中 -<activity>
根本不需要<intent-filter>
AFAIK。
无论如何,您必须在应用程序快捷方式的元素中有一个android:action
属性<intent>
(出于莫名其妙的原因)。因此,将其设置为某个字符串。然后,在您的活动中,您可以使用getIntent()
查看Intent
用于创建活动的内容并查看它是否具有此特定操作字符串。如果是这样,那么该活动是通过应用程序快捷方式创建的。
官方文档应该给你一些提示,虽然它没有直接回答你的问题。 https://developer.android.com/guide/topics/ui/shortcuts.html#tracking-usage
另一种简单的方法是在处理动态快捷方式时,您可以在意图中添加某种标志并在目标活动中检查该标志,然后您可以确定该活动是从快捷方式调用的。
希望能帮助到你...