2017-03-02 2 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> 

Dies ist AndroidManifest.xml Inhalt.
Dann in MainActivity.java:Kann ich den Aktivitätsstart im Intent-Filter erkennen? 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 eigentlich Frage ist nicht so klar. Was genau brauchst du? – DEADMC

Antwort

1

Kann ich Aktivität Einführung in Intent-Filter erkennen?

Der einfachste Ansatz wäre unterschiedliche Aktivität durch die Filter ausgelöst hat, das würde in seinem onCreate() einige Daten in Bundle setzen und dann Ketten rufen Sie Ihr MainActivity und finish() (so vergänglich ein, kein UI). Dann können Sie wissen, was in Bundle ist (wenn getExtras() zurückgibt).

Sie können auch überprüfen, was in Intent selbst ist, aber abhängig von Ihren Filtern kann es etwas mehr Arbeit erfordern als vorübergehende Aktivität, die zuvor erwähnt wurde.

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

Dies macht überhaupt keine Wirkung, weil der Wert android:priority eine ganze Zahl größer als SYSTEM_LOW_PRIORITY sein muss und weniger als SYSTEM_HIGH_PRIORITY welchen Bereich zwischen -1000 und 1000 bedeutet. Alle anderen Werte werden ignoriert und die Priorität wird auf den Standardwert 0 zurückgesetzt (Dok. here und here).

Verwandte Themen