所以,基本上我想要实现的是:了解我何时通过快捷方式访问活动,何时不通过快捷方式访问活动。我正在使用静态快捷方式。
通过文档但没有运气。也许它与意图有关,这是我不掌握的Android编程的一部分。
感谢。
答案 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中添加某种标志并在目标活动中检查该标志,然后您可以确保从快捷方式调用该活动。
希望它有所帮助...