我有启动加载程序监听器。但是在用户安装应用程序之后,我的监听器直到第一次启动才开始。有没有办法检查我的听众是否在跑?
答案 0 :(得分:1)
如果您添加了android.intent.action.BOOT_COMPLETED
的接收器,将在引导完成后进行广播。
安装应用程序后将无法执行,并且我无法在安装后自动启动应用程序,用户必须明确单击它。
重启你的手机,如果你听到了正确的听众,它就可以了。要检查可能会向侦听器添加一些代码,可能应该启动Service
或Activity
或引发Toast
答案 1 :(得分:0)
您不一定能完全按照自己的意愿行事,但是您可以为广播接收器添加额外的意图过滤器,ACTION_SCREEN_OFF和ACTION_SCREEN_ON,然后您可能会在关闭手机之前收到一些广播,因此您的应用是能够在重新启动设备之前首次安装后运行。
<receiver android:name=".screenOnOffReceiver">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF" />
</intent-filter>
</receiver>
然后第一次运行您的应用时,您可以将某些内容保存到sharedPreferences,例如
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences();
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("hasRun", true");
editor.commit();
每次接收器运行onReceive(...)
时,它都可以执行以下操作:
boolean hasRun pref.getBoolean("hasRun", false);
if (!hasRun){
//do code here
}
这绝对不是一个有保障的解决方案,但它最有可能奏效。