activity android:name=".MainActivity">
<intent-filter android:priority="999999999">
<action android:name="com.android.settings.Settings" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这是 AndroidManifest.xml 内容 然后在 MainActivity.java :
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Do some actions that will be in `onCreate()` if detect working.
答案 0 :(得分:1)
我可以在intent-filter中检测活动启动吗?
最简单的方法是让所述过滤器触发不同的活动,在其onCreate()
中将一些数据放入Bundle,然后对您的MainActivity
和finish()
进行链式调用(如此瞬态)一,没有UI)。然后你可以通过检查Bundle中的内容来知道(如果getExtras()
返回任何内容)。
您还可以查看Intent本身的内容,但根据您的过滤器,它可能需要比先前提到的瞬态活动更多的工作。
<intent-filter android:priority="999999999">
这根本不起作用,因为android:priority
值必须是大于SYSTEM_LOW_PRIORITY且小于SYSTEM_HIGH_PRIORITY的整数,这意味着-1000
和{{1}之间的范围}}。忽略任何其他值,优先级将恢复为默认值1000
(文档here和here)。