Ich habe zwei Apps, die ich gemacht habe, und versuche, eine Absicht von einem zum anderen zu senden, aber die Absicht wird nie zu onReceive()
jedoch dieses Problem ist nur eine Möglichkeit. Die erste App kann an die zweite senden, aber die zweite kann keine Informationen zurücksenden. Ich verwende eine andere Absichtsaktion, um von der zweiten zur ersten zu senden, aber ansonsten sind sie identisch. Irgendwelche Ideen, warum das nicht funktioniert? Ich habe alles versucht, was mir einfällt, und habe die meisten Beiträge gelesen, die ich hier finden konnte, ohne Erfolg.Android-Broadcast-Empfänger keine Absicht erhalten
Es stürzt nicht ab oder gibt mir keine Hinweise darauf, was im Logcat passiert, es macht einfach nichts.
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);
}
Klasse erhalten
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.....
}
Empfangen App-Manifest
<!-- for receiving logs -->
<receiver
android:name = "LogReceiver"
android:enabled="true">
<intent_filter>
<action android:name="com.me.intent.finishlog" />
</intent_filter>
</receiver>
haben Sie den Empfänger registriert? – bofredo
Im Manifest – Cob50nm
nein, programmgesteuert – bofredo