Mulakan Perkhidmatan pada But Android
Melaksanakan konfigurasi yang betul untuk memulakan perkhidmatan secara automatik semasa but Android OS adalah penting. Walaupun nampaknya semuanya telah disediakan dengan betul, mungkin terdapat isu asas yang menghalang gelagat yang diingini.
Manifest Android
Semak Manifes Android yang disediakan:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.phx.batterylogger" android:versioncode="1" android:versionname="1.0" android:installlocation="internalOnly"> <uses-sdk android:minsdkversion="8"></uses-sdk> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.BATTERY_STATS"></uses-permission> <application android:icon="@drawable/icon" android:label="@string/app_name"> <service android:name=".BatteryLogger"></service> <receiver android:name=".StartupIntentReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver> </application> </manifest>
Pastikan tindakan BOOT_COMPLETED didaftarkan dalam IntentReceiver.
BroadcastReceiver for Startup
Seterusnya, semak StartupIntentReceiver:
package com.phx.batterylogger; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class StartupIntentReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent serviceIntent = new Intent(context, BatteryLogger.class); context.startService(serviceIntent); } }
Penerima ini sepatutnya mendengar tindakan BOOT_COMPLETED dikehendaki perkhidmatan.
Menyelesaikan masalah
Jika perkhidmatan tidak bermula semasa but, pertimbangkan langkah berikut:
- Sahkan bahawa log menunjukkan penerima sedang menerima siaran BOOT_COMPLETED.
- Periksa sama ada perkhidmatan sasaran diisytiharkan dengan betul dan dikonfigurasikan dalam Manifes.
- Pastikan perkhidmatan sasaran tidak dilumpuhkan atau dioptimumkan oleh sistem.
- Pertimbangkan untuk menggunakan Context.startForegroundService(Intent intent, int notificationId) API untuk memulakan perkhidmatan dalam latar depan (tersedia dalam tahap API 26 dan di atas).
Contoh Lengkap
Untuk contoh menyeluruh bagi aplikasi AutoStart, rujuk kod berikut coretan:
AndroidManifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="pack.saltriver" android:versioncode="1" android:versionname="1.0"> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> <application android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name=".autostart"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver> <activity android:name=".hello"></activity> <service android:enabled="true" android:name=".service"></service> </application> </manifest>
autostart.java
public class autostart extends BroadcastReceiver { public void onReceive(Context context, Intent arg1) { Intent intent = new Intent(context,service.class); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { context.startForegroundService(intent); } else { context.startService(intent); } Log.i("Autostart", "started"); } }
service.java
public class service extends Service { private static final String TAG = "MyService"; @Override public IBinder onBind(Intent intent) { return null; } public void onDestroy() { Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show(); Log.d(TAG, "onDestroy"); } @Override public void onStart(Intent intent, int startid) { Intent intents = new Intent(getBaseContext(),hello.class); intents.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intents); Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show(); Log.d(TAG, "onStart"); } }
hello.java
public class hello extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Toast.makeText(getBaseContext(), "Hello........", Toast.LENGTH_LONG).show(); } }
Melaksanakan langkah ini harus memastikan perkhidmatan Android anda berjaya dimulakan semasa but OS.
Atas ialah kandungan terperinci Mengapa Perkhidmatan Android Saya Tidak Dimulakan semasa But?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini menganalisis empat kerangka JavaScript teratas (React, Angular, Vue, Svelte) pada tahun 2025, membandingkan prestasi, skalabilitas, dan prospek masa depan mereka. Walaupun semuanya kekal dominan kerana komuniti dan ekosistem yang kuat, popul mereka yang relatif

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Node.js 20 dengan ketara meningkatkan prestasi melalui penambahbaikan enjin V8, terutamanya pengumpulan sampah yang lebih cepat dan I/O. Ciri -ciri baru termasuk sokongan webassembly yang lebih baik dan alat penyahpepijatan halus, meningkatkan produktiviti pemaju dan kelajuan aplikasi.

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

Artikel ini menangani kelemahan CVE-2022-1471 dalam Snakeyaml, kecacatan kritikal yang membolehkan pelaksanaan kod jauh. Ia memperincikan bagaimana peningkatan aplikasi boot musim bunga ke snakeyaml 1.33 atau lebih lama mengurangkan risiko ini, menekankan bahawa kemas kini ketergantungan

Iceberg, format meja terbuka untuk dataset analitik yang besar, meningkatkan prestasi data dan skalabiliti. Ia menangani batasan parket/orc melalui pengurusan metadata dalaman, membolehkan evolusi skema yang cekap, perjalanan masa, serentak w

Artikel ini meneroka mengintegrasikan pengaturcaraan berfungsi ke dalam Java menggunakan ekspresi Lambda, API Streams, rujukan kaedah, dan pilihan. Ia menyoroti faedah seperti kebolehbacaan dan kebolehkerjaan kod yang lebih baik melalui kesimpulan dan kebolehubahan

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver Mac版
Alat pembangunan web visual
