您的位置:首页 > 移动开发 > Android开发

Android 实现Service自动启动

2012-09-26 14:57 225 查看
有些应用需要实现在安装完毕后自动后台启动,并且用户无法关闭,实现监听功能,那么这个又如何实现呢?上文介绍了开机启动应用程序,是采用开机完成发送的广播来实现的,本文在上文的基础上采用定时器广播实现服务无法关闭功能。

<!-- 开机启动完成广播接收器  -->
<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) {
// TODO Auto-generated method stub
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));
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: