Android Service Autostart on Boot
Masalah:
Walaupun menyediakan IntentService untuk bermula secara automatik pada permulaan sistem, perkhidmatan gagal dimulakan seperti yang diharapkan. Penyelesaian masalah tidak menghasilkan sebarang mesej ralat atau petunjuk tentang punca isu itu.
Jawapan:
Untuk memulakan perkhidmatan semasa but OS Android, pendekatan komprehensif ialah diperlukan. Berikut ialah penyelesaian langkah demi langkah:
AndroidManifest.xml:
Pastikan fail manifes mengandungi perkara berikut:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.app" android:versionCode="1" android:versionName="1.0" android:installLocation="internalOnly"> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.YOUR_CUSTOM_PERMISSION" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <service android:enabled="true" android:name=".MyService" /> <receiver android:name=".BootBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> </manifest>
BootBroadcastReceiver.java:
Buat siaran penerima untuk mendengar acara but sistem dan mulakan perkhidmatan:
public class BootBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) { Intent serviceIntent = new Intent(context, MyService.class); context.startService(serviceIntent); } } }
MyService.java:
Laksanakan kelas perkhidmatan:
public class MyService extends Service { @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { // Perform service tasks here return START_NOT_STICKY; } @Override public void onDestroy() { // Clean up resources here } }
Nota Tambahan:
Atas ialah kandungan terperinci Mengapa Perkhidmatan Android Saya Tidak Autostart semasa But?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!