Ich habe Probleme, Code beim Booten zu starten, habe ich die Quelle für ein Beispiel heruntergeladen, das funktionieren sollte, aber es nicht funktioniert. laut dem beispiel sollte es einen toast erzeugen wenn das telefon eingeschaltet wird, aber es passiert nicht, ich habe es auf android 6.0 und 7.0 getestet.
jede Hilfe ist dankbar, danke. Der Code ist wie folgt:
Manifest:Running-Code beim Booten android
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.androidautostartup"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" >
</uses-permission>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver
android:name=".BootComplete"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service android:name=".AutoStartUp" >
</service>
<activity
android:name="com.example.androidautostartup.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
BootComplete.java
public class BootComplete extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)) {
Intent serviceIntent = new Intent(context, AutoStartUp.class);
context.startService(serviceIntent);
}
}
}
AutoStartUp.java
public class AutoStartUp extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
// do something when the service is created
}
}
Entschuldigung, wo soll ich das hinstellen? in der onCreate-Methode? – user6548194
könnte man es tatsächlich auf dem Empfänger nennen. Oder in einem der Lifecycle-Callback auf dem Dienst, idealerweise onStart – jirungaray
es gibt mir nur einen Fehler sagen kann Methode nicht beheben makeText anonym java.lang.runnable, java.lang.string, int – user6548194