суббота, 17 мая 2014 г.

Автостарт Activity или Service при загрузке (перезагрузке) девайса

Если Вам нужно постоянно что-то отслеживать или по каким-то иным причинам запускать после загрузки девайса свое приложение, то эту задачу довольно легко решить при помощи BroadcastReceiver:


//в манефесте приложения прописываем следущие строки

<receiver android:enabled="true" android:name=".BootUpReceiver"
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED">

        <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</receiver>
...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
...

//а сам запуск сущности из Java будет еще проще
public class BootUpReceiver extends BroadcastReceiver{

        @Override
        public void onReceive(Context context, Intent intent) {
                //для Activity 
                Intent ativivtyIntent = new Intent(context, MyActivity.class);  
                ativivtyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(ativivtyIntent);  
              
  //для Service
  Intent serviceIntent = new Intent(context, MyService.class);
  context.startService(serviceIntent);
        }

}

Источник: http://idev.by/posts/20340/

Комментариев нет:

Отправить комментарий