我正在编写一个应用程序,该应用程序具有潜在的长时间运行和密集型流程,每次安装我的应用程序时需要运行一次。有没有办法可以在安装.apk时立即运行此过程,或者紧接在之后?
答案 0 :(得分:3)
在用户打开应用程序之前,您无法在JB之后运行任何内容(出于安全原因)。您只需确保用户了解正在发生的事情。也许告诉用户,当应用程序准备就绪时,您将通知他们,或者在长时间运行的过程完成之前对其进行娱乐。你真的别无选择。
在此之前,您可以使用广播接收器来侦听具有否定优先级的程序包更新,并且它将在您的应用程序安装后运行。像这样:
<receiver android:name=".InstallIntentReceiver" android:enabled="true">
<intent-filter android:priority="-999">
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<action android:name="android.intent.action.PACKAGE_INSTALL" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_CHANGED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
在接收器中启动一项可以执行长时间运行的服务。