Intereting Posts
Как импортировать приложения AOSP (запуск, контакты, …) в Android-Studio? Смутно о различиях AdMob, Ad Exchange и DFP Вам нужно добавить значок в APK при загрузке приложения в Google Play Что означают метаданные в android? Создание нескольких таблиц для одного класса в ORMLite Как использовать библиотеку openSSL в приложении ANDROID IllegalArgumentException в StatFs в внутреннем потоке WebViewCore Android API для Google Диска? Календарь Android Календарь всех дней праздника отключается на один день по GMT + x Области Как получить необработанную запись сканирования (рекламный пакет) при сканировании классических устройств Bluetooth на Android? Как отфильтровать только соответствующие мультимедийные файлы в Android? Android Holo Выбранный список Цвет деталя Анти-хак-решение для секретного ключа в Android-приложении? Перемещение изображения с сенсорным событием RegisterMediaButtonEventReceiver / кнопки объемного объема

Android BroadcastReceiver, автоматический запуск службы после перезагрузки устройства

Привет, я пишу приложение, которое, когда перезагрузка телефона, служба будет автоматически запускаться, а не нажимать на приложение.

Вот мой код для

BootCompleteReceiver.java

package com.example.newbootservice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootCompleteReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent service = new Intent(context, MsgPushService.class); context.startService(service); } } 

MsgPushService.java

 package com.example.newbootservice; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.widget.Toast; public class MsgPushService extends Service { @Override public void onCreate() { super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show(); return Service.START_STICKY; } @Override public void onDestroy() { super.onDestroy(); Toast.makeText(this, "Service Destroy", Toast.LENGTH_LONG).show(); } @Override public IBinder onBind(Intent arg0) { return null; } } 

MainActivity.java (не знаю, нужно ли мне это)

 package com.example.newbootservice; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); startService(new Intent(getBaseContext(), MsgPushService.class)); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } 

манифест

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.newbootservice" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <service android:name=".MsgPushService"/> <receiver android:name=".BootCompleteReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

Любой может мне помочь, я хочу, чтобы служба запускалась автоматически после перезагрузки, а не запускала ее вручную. Благодаря….

Solutions Collecting From Web of "Android BroadcastReceiver, автоматический запуск службы после перезагрузки устройства"

Сначала сделайте это

1) В элементе <manifest> :

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

РЕДАКТИРОВАТЬ :

Простое и умное решение:

-> Автозагрузка на загрузку устройства

Вы забыли о разрешениях

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

Также попробуйте эти разрешения, это может помочь вам .ifyou использовать htc телефоны, тогда эти разрешения необходимы

 <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.DEFAULT" /> <action android:name="android.intent.action.QUICKBOOT_POWERON"/>