首先,我知道已经有数百个问这样的问题了,但是我已经检查了一段时间,但仍然找不到任何解决方案.
我已经看到这个答案说BOOT_COMPLETED没有发送到应用程序,除非用户首先启动你的应用程序,在Android版本3.1之后但我仍然看到一些应用程序正在这样做,必须有一种方法.我真的需要处理它,否则我也反对在没有用户交互的情况下做某事.
所以这是我的AndroidManifest:
<manifest ... >
<!-- to be activated service on boot is completed -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application ... >
<!-- to receive data when boot completed -->
<receiver
android:name="myPackage.BootReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
提前致谢.
编辑:在我的广播接收器中没有太多东西要看,但是这里需要的是:
package myPackage
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) { …Run Code Online (Sandbox Code Playgroud) 除了MI之外,我的应用程序在所有移动设备上都有很好的评价.因为MI限制我的App后台服务运行.在安全性中启用自动启动应用程序后,它完美运行.因此,我可以通过编程方式为MI Security App中的应用启用AutoStart选项.请让我知道你宝贵的建议.
我怀疑是什么whatsapp,facebook和更多应用程序默认在小米的安全应用程序中启用自动启动选项?
提前致谢.
我没有收到BOOT_COMPLETE我的小米Redmi 2 Prime手机的广播.
我BroadcastReciever是---
public class OnBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Setting singleAlarm
SingleAlarmHandler.getInstance().setAlarm(context);
try {
// Sending System Setting broadcast
String offDate = SharedPrefrencesHandler.getInstance(context).readString(SharedPrefrencesConstants.SWITCH_OFF_DATE);
int type = SystemSettingsType.PHONE_SWITCH_ON_OFF.getNumericType();
if (offDate == null)
offDate = "";
SystemSettingsHandler.getSystemSettingsHandler().makeSystemSettingsCall(context, type, offDate);
SharedPrefrencesHandler.getInstance(context).removePrefrence(SharedPrefrencesConstants.SWITCH_OFF_DATE);
} catch (Exception e) {
Log.e(ChaseForceApplication.TAG, e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
和清单:
<receiver
android:name=".broadcastlisteners.OnBootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
经许可:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Run Code Online (Sandbox Code Playgroud)
现在我没有在我的小米Redmi 2 Prime手机中获得BOOT …