有些应用需要实现在安装完毕后自动后台启动,并且用户无法关闭,实现监听功能,那么这个又如何实现呢?上文介绍了开机启动应用程序,是采用开机完成发送的广播来实现的,本文在上文的基础上采用定时器广播实现服务无法关闭功能。
-
- <receiver android:name="com.spreadtrum.BroadcastReceiver.BootReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
- <intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED"></action>
- </intent-filter>
- </receiver>
-
- <receiver android:name="com.spreadtrum.BroadcastReceiver.AlarmReceiver">
- <intent-filter>
- <action android:name="com.spreadtrum.action.ALARM"></action>
- </intent-filter>
- </receiver>
- public class AlarmReceiver extends BroadcastReceiver {
-
- private static final String TAG = "AlarmReceiver";
-
- @Override
- public void onReceive(Context context, Intent intent) {
-
- if (intent.getAction().equals("com.spreadtrum.action.ALARM")) {
-
- context.startService(new Intent("com.service.NetService"));
- }
- else if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
- AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
- Intent i = new Intent(context, AlarmReceiver.class);
- i.setAction("com.spreadtrum.action.ALARM");
- am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(),10*1000, PendingIntent.getBroadcast(context, 0,i,0));
- }
- }
- }