Как программно получить разрешение на автоматический запуск приложения MIUI Security?
Я не получаюBOOT_COMPLETE
трансляция у меня в Xiaomi 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());
}
}
}
и манифест:
<receiver
android:name=".broadcastlisteners.OnBootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
с разрешения:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Теперь я не получаю трансляцию BOOT COMPLETE на моем мобильном телефоне Xiaomi Redmi 2 Prime, так как будильник не установлен. Но в других мобильных телефонах Android это работает правильно.
Я искал и обнаружил, что это проблема в прошивке MIUI. В таких мобильных устройствах они предоставляют встроенное приложение безопасности, и пока вы не разрешите разрешение на автоматический запуск в этом приложении безопасности, вы не сможете получать широкую трансляцию (любое уведомление).
И как только вы проверяете это разрешение в этом приложении, вы начинаете получать трансляцию.
Теперь мой вопрос:
Как программно получить разрешение на автоматический запуск приложения MIUI Security (телефоны типа Redmi)?