Frage

Ich habe eine Anwendung ohne Launcher -Aktivität, die von Android 1.5 bis Android 2.3.4 ordnungsgemäß funktioniert. Es wird von meinem Rundfunkempfänger gestartet. Auf Waben (Motorola Xoom) funktioniert mein Broadcast -Empfänger jedoch überhaupt nicht (er fängt keine Absichten auf). Wenn ich meinem Manifest Launcher -Aktivitäten hinzufüge:

<activity android:label="@string/app_name" android:name="com.myapp.MainActivity"> 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 
</activity>

Dann funktioniert meine App ordnungsgemäß (Broadcast Receiver fängt alle notwendigen Absichten auf und startet meine Dienste).

Ich wäre sehr dankbar für Hilfe!

War es hilfreich?

Lösung

Führen Sie Waben 3.1 oder höher? Wenn ja, schauen Sie sich an hier. Wenn Ihre Bewerbung installiert ist, ist sie im gestoppten Zustand. Wenn die Bewerbung zum ersten Mal gestartet wird, wird sie aus dem gestoppten Zustand verschoben.

Eine Bewerbung im gestoppten Staat wird nicht von allen Broadcast -Absichten begonnen. Der Absender der Broadcast -Absicht muss die angeben Intent.flag_include_stopped_packages Flag, wenn es auch gestoppte Anwendungen starten möchte.

Intent intent = new Intent(MY_INTENT_ACTION);
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(intent);

Wenn Sie den Code, der die Absicht sendet, nicht ändern können, ist es am besten, die Launcher -Aktivität zu behalten. Wenn der Benutzer Ihre Anwendung nach der Installation startet, wird er aus dem gestoppten Status verschoben und Sie werden mit dem Empfangen von Sendungen beginnen.

Beachten Sie, dass der Benutzer Ihre Anwendung zurück in den gestoppten Status verschieben kann, um Anwendungen in Geräteeinstellungen zu verwalten.

Andere Tipps

Auf Android 3.1 und höher, BroadcastReceivers wird erst dann aufgerufen, wenn der Benutzer die Anwendung mindestens einmal mit anderen Mitteln gestartet hat, z. B. das Starten einer Aktivität.

Da Benutzer dazu neigen, durch Anwendungen, die keine Aktivität haben, sehr verwirrt zu werden, sollten Sie überhaupt eine Aktivität haben, um Online -Hilfe zu erhalten, wenn nichts anderes. Mit Android 3.1 ist das noch wichtiger.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top