14

BOOT_COMPLETEXiaomi 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" />

アラームが設定されていないため、Xiaomi Redmi 2 Prime モバイルで BOOT COMPLETE ブロードキャストを取得できません。しかし、他の Android モバイルでは正しく動作しています。

検索したところ、MIUIファームウェアの問題であることがわかりました。このようなモバイルでは、組み込みのセキュリティ アプリが提供され、そのセキュリティ アプリで自動開始許可を許可するまで、ブロードキャスト (通知) を取得できません。

そして、そのアプリでその許可を確認するとすぐに、ブロードキャストの取得が開始されます。

今私の質問は:

プログラムで MIUI Security アプリの自動起動許可 (Redmi などの電話) を取得する方法は?

4

2 に答える 2