1

Mein Empfänger arbeitet nicht mit Android 6.0 Marshmallow.Android 6.0 Broadcast Empfänger empfangen nicht BOOT_COMPLETE

ich eine Sendung über adb shell schicke, siehe unten:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED erhalten, wenn die Anwendung geöffnet ist, App sagen: Arbeite!

Aber wenn die Anwendung nicht geöffnet war, hat es nichts zurückgegeben.

Mein Code ist hier;

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.berate.rebootreceiverfromb3r0"> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" android:protectionLevel="signature|development"></uses-permission> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 


     </activity> 

     <receiver android:name="com.example.berate.rebootreceiverfromb3r0.Yakala_Receiver"> 
       <intent-filter> 
        <category android:name="android.intent.category.DEFAULT"></category> 
        <action android:name="android.intent.action.BOOT_COMPLETED" /> 
        <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
       </intent-filter> 
      </receiver> 
    </application> 

</manifest> 

Receiver.Java;

public class Yakala_Receiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Toast.makeText(context,"i got it ",Toast.LENGTH_SHORT).show(); 
    } 
} 

Edit: Ich habe sehr interessante Informationen, Mein Code arbeitet an Samsung (Android 6.0) Geräte. Aber meine (Android 6.0) Geräte nicht mich reagiert

+0

Hinzufügen Android: aktiviert = "True" Android: exportierte = "True" in Ihrem Empfänger-Tag. – user5195185

+0

http://stackoverflow.com/questions/12274997/why-broadcastreceiver-works-even-when-app-is-in-background check out – nuriselcuk

+0

Warum geben Sie den android: protectionLevel? Dies ist, wenn Sie Berechtigungen nicht erstellen, wenn Sie eine Berechtigung verwenden. – JoxTraex

Antwort

1

Ich reparierte einige neue Android-Geräte haben Sicherheitsanwendung durch Standard. Manchmal sperren diese Apps den Autostart-Modus.

+0

Wie haben Sie es behoben? – rsc

+0

Mein Mobiltelefon verfügt über eine Sicherheitsanwendung. Ich habe die Sicherheitsanwendung entfernt und mein Code funktioniert ohne Probleme. Sie sollten die Sicherheits-App von Drittanbietern auf Ihrem Mobiltelefon suchen. –

+0

Ok. danke für die Antwort. – rsc

3

Änderung dieser

<receiver android:name="com.example.berate.rebootreceiverfromb3r0.Yakala_Receiver"> 
      <intent-filter> 
       <category android:name="android.intent.category.DEFAULT"></category> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
      </intent-filter> 
     </receiver> 

dieser

<receiver android:name="com.example.berate.rebootreceiverfromb3r0.Yakala_Receiver" android:enabled="true" android:exported="true"> 
      <intent-filter> 
       <category android:name="android.intent.category.DEFAULT"></category> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
      </intent-filter> 
     </receiver> 

hoffe, es hilft

+0

Ich versuche Ihren Code, aber nicht funktionieren :( –

+0

Sie müssen die App einmal für Broadcast zu öffnen, überprüfen Sie dies für weitere Informationen -> http://Stackoverflow.com/a/19856367/1129332 – madroid

+0

danke für Ihre Antwort, aber Mein Problem ist nicht hier, ich öffne App und entferne nicht. Ich schließe App und versuche Send Broadcast. Und App nicht Antwort. –

Verwandte Themen