Android4.0以后开机启动service有点麻烦,但照网上的方法实现了,其实是在监听开机广播的时候在BroadcastReciever中启动的service,启动service的代码为:
public class SysReciever extends BroadcastReceiver
{
private String TAG = "MySysReciever";
@Override
public void onReceive(Context context, Intent intent)
{
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
Log.e(TAG, "开机启动了");
Intent startServiceIntent = new Intent(context, SensorService.class);
context.startService(startServiceIntent);
Toast.makeText(context, "~ Startup Success ~", Toast.LENGTH_LONG).show();
} else {
Log.e(TAG, "Received unexpected intent " + intent.toString());
}
}
}
AndroidManifest.xml注册方法:
<receiver
android:name=".SysReciever"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
记得申明权限。
这样就可以实现在开机的时候启动Service了。