Mam dwie aplikacje, które zrobiłem, i próbuję wysłać intencję z jednego do drugiego, ale intencja nigdy nie dociera do onReceive()
jednak ten problem jest tylko jeden sposób. Pierwsza aplikacja może wysyłać do drugiej, ale druga nie może wysłać informacji zwrotnej. Używam innej akcji zamiaru wysyłania od drugiej do pierwszej, ale poza tym są identyczne. Wszelkie pomysły na to, dlaczego to nie działa? Próbowałem wszystkiego, co wymyśliłem i przeczytałem większość postów, które mogłem znaleźć tutaj i bezskutecznie.Odbiornik transmisji Android nie otrzymuje intencji
Nie załamuje się ani nie daje mi żadnych wskazówek co do tego, co dzieje się w logcat, to nic nie robi.
funkcja wyślij
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);
}
otrzymać klasa
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.....
}
Odbieranie aplikacja manifest
<!-- for receiving logs -->
<receiver
android:name = "LogReceiver"
android:enabled="true">
<intent_filter>
<action android:name="com.me.intent.finishlog" />
</intent_filter>
</receiver>
czy zarejestrowałeś odbiornik? – bofredo
W manifeście – Cob50nm
nie, programowo – bofredo