Starten Sie eine Aktivität, die auf Telefon-Boot in Android
Beginnen möchte ich meine Anwendung automatisch, wenn das Telefon bootet.
Ich erklärte ein BroadcastReceiver im manifest-Datei.
<receiver android:name=".Autostart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Machte ich eine java-Datei, die für die Empfänger.
Autostart.java
public class Autostart extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent pushIntent = new Intent(context, MushTouchActivity.class);
pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(pushIntent);
}
}
}
Aber die Anwendung nicht starten, wenn ich schalte mein Handy auf. Kann mir jemand sagen, was ich hier vermisst ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen Ihre if-Anweisung wie dieser:
Den Fall, Sie sind auf Android 3.1 oder neuer:
Stellen Sie sicher, dass Sie begann, Ihre Anwendung mindestens einmal manuell (z.B. durch öffnen von app Schublade). Ansonsten ist Ihre app als beendet gekennzeichnet durch das system:
Beendet apps nicht erhalten broadcast-Absichten, einschließlich
BOOT_COMPLETED
.Sehen Android 3.1. Plattform - Launch-Kontrollen gestoppt Anwendungen für weitere Informationen.
Die beste Antwort wäre, dass eine Benachrichtigung angezeigt und der Benutzer gefragt, um die app zu starten aus dieser Benachrichtigung und Nutzung ein pending intent für diese Aktivität in der Mitteilung.