
我需要在我的应用程序中提供一项服务,该服务会首次启动并永远运行,即使用户重新启动手机,我的服务也会自动启动,而无需运行我的应用程序.我写了这段代码,但是当用户重新启动手机时,我的服务无法再次启动!
public class notifService extends Service { @OverrIDe public IBinder onBind(Intent arg0) { return null; } @OverrIDe public int onStartCommand(Intent intent, int flags, int startID) { super.onStart(intent, startID); return Service.START_STICKY; } @OverrIDe public voID onDestroy() { super.onDestroy(); }}在主要活动中,我像这样开始服务:
// start serviceIntent service = new Intent(MainActivity.this, notifService.class);MainActivity.this.startService(service);谢谢您的帮助.
解决方法:
在broadcastReceiver中侦听androID.intent.action.BOOT_COMPLETED并启动您的服务.
例如
public class YourdefinedBootReceiver extends broadcastReceiver { @OverrIDe public voID onReceive(Context context, Intent intent) { Intent service = new Intent(context, notifService.class); context.startService(service); }}另外,您必须持有许可:
> RECEIVE_BOOT_COMPLETED
参考:Automatically starting Services in Android after booting和Android Start Service on Boot Automatically
总结以上是内存溢出为你收集整理的java-安排手机重启后再次启动Android服务全部内容,希望文章能够帮你解决java-安排手机重启后再次启动Android服务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)