Android-Rundfunkempfänger empfängt keine Absicht

Ich habe zwei Apps, die ich gemacht habe, und versuche, eine Absicht von einem zum anderen zu senden, aber die Absicht kommt nie zum onReceive() aber dieses Problem ist nur ein Weg. Die erste App kann an die zweite senden, aber die zweite kann nicht senden info. Ich benutze eine andere Absicht, um von der zweiten zur ersten zu senden, aber ansonsten sind sie identisch. Irgendwelche Ideen, warum dies nicht funktionieren könnte? Ich habe alles versucht, was ich mir vorstellen kann und lese die meisten Beiträge, die ich hier finden konnte und ohne Erfolg.

Es stürzt nicht oder gibt mir irgendwelche Hinweise darauf, was in der Logcat geschieht, es macht einfach nichts.

  • Instagram auf Android Emulator
  • So aktualisieren / aktualisieren Sie bestimmte Elemente in RecyclerView
  • Fehler: String-Typen nicht erlaubt (bei 'screenOrientation' mit Wert 'sensorPortait')
  • Wie ändere ich die Größe der Symbolleiste?
  • Warteschlangen mit RxJava in Android
  • Was ist der Standardübergang zwischen Aktivitäten in Android 4.0 (API 14+)
  • Sendefunktion

     private void sendFinishLog(String ID, String Cond) { Log.d("me", "send finish log"); Intent logIntent = new Intent(); logIntent.putExtra("ID", ID); logIntent.putExtra("Cond", Cond); logIntent.setAction("com.me.intent.finishlog"); Log.d("me","logIntent : " + logIntent.toString() +logIntent.getExtras().toString()); sendBroadcast(logIntent); } 

    Erhalten Klasse

     public class LogReceiver extends BroadcastReceiver { public static ArrayList<LogDataHolder> logData = new ArrayList<LogDataHolder>(); private boolean found; static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); private static String lasttime; private static String now = "Boot time"; @Override public void onReceive(Context cont, Intent logIntent) { Log.d("me","On receive"); etc..... } 

    App manifestieren

     <!-- for receiving logs --> <receiver android:name = "LogReceiver" android:enabled="true"> <intent_filter> <action android:name="com.me.intent.finishlog" /> </intent_filter> </receiver> 

  • Android-Entwicklung ohne Eclipse
  • Imageview set Farbfilter auf Farbverlauf
  • "Default-Aktivität nicht gefunden" für eine tragbare App mit Android Studio-Vorlage erstellt
  • Wie bekomme ich alle Freunde Name, ID, Geburtstag, Ort, etc .. von Facebook API in Android?
  • OutOfMemoryError was zu erhöhen und wie?
  • Setzen Sie alle Werte von ArrayList <Boolean> auf false auf Instatiation
  • 4 Solutions collect form web for “Android-Rundfunkempfänger empfängt keine Absicht”

    etwas wie:

     public void onResume() { IntentFilter filter = new IntentFilter(); getActivity().registerReceiver(mLogReceiver,filter); } 

    Und für unregistrierung:

     public void onPause() { getActivity().unregsiterReceiver(mLogreceiver); } 

    Edit: Ich habe gerade gedacht, dass deine LogReceiver-Klasse keinen Konstruktor hat. Du musst auch einen schreiben:

     private LogReceiver mLogReceiver = new LogReceiver() { 

    Und danach kannst du die onReceive-Methode verwenden, wie du es schon in deinem Code hast.

    Versuche es noch einmal so. Die Kategorie muss eventuell hinzugefügt werden

     <!-- for receiving logs --> <receiver android:name = "LogReceiver" android:enabled="true"> <intent_filter> <action android:name="com.me.intent.finishlog" /> <category android:name="android.intent.category.DEFAULT" /> </intent_filter> </receiver> 

    Sie erklärten den Hörer im Manifest als:

      android:name = "LogReceiver" 

    In der Dokumentation heißt es:

    Der Name der Klasse, die den Broadcast-Empfänger implementiert, eine Unterklasse von BroadcastReceiver. Dies sollte ein voll qualifizierter Klassenname sein (wie zB "com.example.project.ReportReceiver"). Wenn jedoch das erste Zeichen des Namens eine Periode ist (z. B. "ReportReceiver"), wird es als Kurzschrift an den im Element angegebenen Paketnamen angehängt.

    Mit anderen Worten, es muss das Paket enthalten. Versuchen Sie, den Namen zu ändern:

      android:name = ".LogReceiver" 

    oder

      android:name = "com.me.yourpackagename.LogReceiver" 

    Mein Problem wurde gelöst, als ich den Receiver unregistriert von der OnPause () entfernte. Methode.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.