android - „Eksportowany odbiornik nie wymaga zezwolenia” na odbiorniki przeznaczone do odbioru z usług systemowych

Mam kilka odbiorników zadeklarowanych w moim AndroidManifest:

<!-- no warning -->
<receiver
    android:name=".receivers.TriggerMonitoringBootReceiver"
    android:enabled="false">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

<!-- no warning -->
<receiver
    android:name=".receivers.ScanResultsReceiver"
    android:enabled="false">
    <intent-filter>
        <action android:name="android.net.wifi.SCAN_RESULTS" />
    </intent-filter>
</receiver>

<!-- warning : Exported receiver does not require permission-->
<receiver
    android:name=".receivers.BatteryMonitoringReceiver"
    android:enabled="false">
    <intent-filter>
        <action android:name="@string/intent_action_setup_alarm" />
        <action android:name="@string/intent_action_cancel_alarm" />
        <action android:name="@string/intent_action_monitor" />
    </intent-filter>
</receiver>

Pierwszy z nich ma otrzymaćBOOT_COMPLETED akcja. Drugi ma otrzymaćandroid.net.wifi.SCAN_RESULTS. Trzeci ma odbierać pewne akcje, które transmituję (intent_action_monitor) i niektóre akcje transmitowane przezAlarmManager (intent_action_setup_alarm itp.).

Dwa pytania:

Dlaczego nie otrzymam ostrzeżenia na wszystkich odbiornikach?Jakie uprawnienia muszę ustawićdla odbiorników przeznaczonych do odbierania z usług systemowych w celu skorygowania ostrzeżenia (Rozumiem, o co chodzi i nie chcę, żeby ktokolwiek korzystał z moich odbiorników)?Będzie exported="false" robić dla odbiorników rozruchowych, odbiorników Wi-Fi, odbiorników alarmowych itp?
Myślałem o użyciu niestandardowego pozwolenia zandroid:protectionLevel="signatureOrSystem" ale doktorzy odradzają topoziom ochrony iuprawnienia niestandardowe. Jak powinienem postępować z tym ostrzeżeniem?

Linki do dokumentów i / lub jakiś kod będą bardzo mile widziane.

questionAnswers(4)

yourAnswerToTheQuestion