androidの开机启动service,避免杀死

开机启动service 避免杀死   (StartServiceByTimer)

public class FirstBroadcast extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
            Intent intents = new Intent(context, getBroadcastReceiver.class);
            intents.setAction("com.huaqin.xiabing");

            PendingIntent pend = PendingIntent.getBroadcast(context, 0,
                    intents, 0);
            long time = SystemClock.elapsedRealtime();

            AlarmManager alarm = (AlarmManager) context
                    .getSystemService(Context.ALARM_SERVICE);
            alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, time,
                    10 * 1000, pend);
        }
    }

}
利用AlarmManager 间隔10秒进行发送广播,启动service.

这个广播定义为了启动这个service

public class getBroadcastReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
      if(intent.getAction().equals("com.huaqin.xiabing")){
          Intent intents=new Intent();
          intents.setClass(context,DaemonService.class);
          context.startService(intents);
      }
    }

}

service中使用

@Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return super.onStartCommand(intent, flags, startId);
    }

但是在AndroidManist.xml中需要配置

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <receiver
            android:name="com.example.startservicebytimer.FirstBroadcast" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver> 
        <receiver
            android:name="com.example.startservicebytimer.getBroadcastReceiver" >
            <intent-filter>
                <action android:name="com.huaqin.xiabing" />
            </intent-filter>
        </receiver>    
        <service android:name="com.example.startservicebytimer.DaemonService">
        </service>
    </application>


你可能感兴趣的:(androidの开机启动service,避免杀死)