安装后重新启动
回答
最有可能的是答案是不是,你不能从你的应用程序做这样的事情。这是持有手机的用户的唯一特权(也可能是核心系统服务)。
但是,您可以确保在用户启动主要活动时启动服务,这将在用户安装应用程序后立即执行。
有关更多信息,请参阅How to start android service on installation问题,这实际上是您应该尝试做的。
好的,安装后可能会留下一条消息,向用户显示他必须重新启动? – user902131
你为什么要用户重启手机?你不只是想确保你的服务开始了吗?如果是这样,只需留给用户,以便在需要时启动应用程序(并因此提供服务)。 –
在用户首次从主屏幕启动它之前,无法以任何方式让应用程序在安装完成后立即执行任何操作。没有可以明确监听的广播动作。但是,你可以听的东西一般被调用了很多,如:
android.intent.action.USER_PRESENT
,android.intent.action.SCREEN_OFF
,或android.intent.action.SCREEN_ON
在任何情况下你不应该重新启动设备。你的用户会追捕你并用石头杀死你。一边开玩笑,谷歌可能真的从市场上拉你的应用程序。只要监听上述操作之一,检查应用程序是否刚刚安装(例如,使用一次布尔首选项)并启动该服务。
注意:如果您确实最终收听上述操作之一,请在第一次收到意图时停用接收器。你可以这样做,像这样(在你的接收器):
public class FirstTimeReceiver extends BroadcastReceiver {
public void onReceive (Context context, Intent intent) {
// start your service (which does stuff asynchronously, of course, and then:
final ComponentName mySelf = new ComponentName(context, FirstTimeReceiver.class);
context.getPackageManager().setComponentEnabledSetting(mySelf, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
}
}
但是,你应该只当不知何故该服务是针对用户(很少有合适的场景本)是绝对关键的做到这一点,而不是为你/你的应用程序。作为bjarkef提到,你应该只在用户从主屏幕启动你的应用程序后启动它(更好的是,请求用户许可来运行该服务)。
thx 4你的帮助。我会尝试这种方式,而无需重新启动:-)你是对的,它对用户更好 – user902131
是否TIME_TICK广播意图可以是一个很好的方式来启动服务尽快? –
请记住在像这样的意图启动服务后立即取消注册接收器,以免不必要地减慢用户电话的速度。 –
- 1. 安装后重新启动设备
- 2. 安装后重新启动tomcat
- 3. 重新启动后WiX刻录/强制重启继续安装
- 4. 应用程序从SDCard安装并重新启动后重新启动背景
- 5. 安装新模块后IPython内核重新启动
- 6. 安装Windows更新后检查重新启动状态的Powershell
- 7. 电脑无法启动后新鲜重新安装windows
- 8. 在禁用启动器活动后,android重新安装失败
- 9. NFS安装挂起重新启动
- 10. 重新启动后重新启动
- 11. 安装Windows服务后重新启动计算机
- 12. 重新启动后恢复安装程序
- 13. Windows安装程序 - 升级后重新启动
- 14. 重新启动后当前没有安装rails
- 15. 继续在WiX中重新启动后安装
- 16. Apache安装PHP后无法重新启动
- 17. 如何在win_chocolatey安装后重新启动
- 18. TeamCity安装成功,但在关机后无法重新启动
- 19. 如何在安装gem后重新启动Ruby?
- 20. 使用setup.py安装后导入python包,而不重新启动?
- 21. 安装或升级应用程序后重新启动iPhone
- 22. InstallShield - 安装完成后重新启动选项
- 23. 如何使用cmake安装NSIS后要求重新启动
- 24. 安装后提示重新启动消息WIX引导程序
- 25. WiX - 修改已安装产品后重新启动服务
- 26. 安装脚本运行,然后重新启动并继续
- 27. 全局npm在重新启动终端后安装中断
- 28. 安装.apk文件后,为什么Android 2.2会重新启动?
- 29. 如何在Installshield Express中安装后要求重新启动?
- 30. Inno安装程序:在安装过程中重新启动
这听起来是一种不好的方式来处理这个问题,我相信你可以确保服务被加载而不需要重新启动设备 – Pierre
可能与http://stackoverflow.com/questions/2127044/how-to重复-start-android-service-on-installation –
@Emmanuel:我不会说重复的,问题是另一个问题,但正确的方法是去做另一个问题。 –