уведомление Android после перезагрузки - PullRequest
12 голосов
/ 11 декабря 2011

Я хочу разместить уведомление в панели уведомлений, которое будет запускать мое приложение при нажатии.Хотя у меня нет проблем с этим, мои пользователи хотят, чтобы уведомление появлялось и после перезагрузки.У них есть приложение от другого поставщика, которое делает это.

Все, что я могу найти, говорит о том, что приложение должно быть запущено для отображения уведомления.Есть идеи?

1 Ответ

11 голосов
/ 11 декабря 2011

Вам необходимо добавить приемник, который запускает Сервис после перезагрузки.

В вашем манифесте зарегистрироваться для загрузки завершено

<service android:name="com.meCorp.service.MeCorpServiceClass"/>
...
<receiver android:name="com.meCorp.receiver.MyRebootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

В загрузочном приемнике запустите службу.

public class MyRebootReceiver extends BroadcastReceiver {

       @Override
       public void onReceive(Context context, Intent intent) {
          Intent serviceIntent = new Intent(context, MeCorpServiceClass.class);
          serviceIntent.putExtra("caller", "RebootReceiver");
          context.startService(serviceIntent);
       }
}

Вот пример для класса обслуживания, работающего в фоновом режиме.

    public class MeCorpServiceClass extends IntentService{

         @Override
         protected void onHandleIntent(Intent intent){
             String intentType = intent.getExtras().getString("caller");
             if(intentType == null) return;
             if(intentType.Equals("RebootReceiver"))
                  //Do reboot stuff
             //handle other types of callers, like a notification.
         }
     }

ИЛИ Просто воспользуйтесь третьей стороной, такой как Urban AirShip, которая справится со всем этим для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...