2017-03-02 64 views
-1
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我可以检测意向过滤器中的活动启动吗? Android

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Do some actions that will be in `onCreate()` if detect working. 
+1

Emm其实问题不是很清楚。你究竟需要什么? – DEADMC

回答

1

我可以检测到意向过滤器的活动推出?

最简单的方法将有不同的活动由上述过滤器,将在其onCreate()把一些数据包,然后链打电话给你MainActivityfinish()(所以暂时性的,没有用户界面)触发。然后,您可以通过检查Bundle中的内容来知道(如果getExtras()返回任何内容)。

您也可以检查Intent本身的内容,但取决于您的过滤器,它可能需要比以前提到的瞬态活动更多的工作。

<intent-filter android:priority="999999999"> 

这使得没有任何影响,这是因为android:priority值必须是一个整数比SYSTEM_LOW_PRIORITY和小于SYSTEM_HIGH_PRIORITY更大,这意味着-10001000之间范围内。任何其他值都将被忽略,并且优先级会降低为默认值0(文档号herehere)。

相关问题