我有两个自己开发的应用程序,试图从一个应用程序向另一个发送意图(Intent),但是该意图从未到达onReceive()
。不过这个问题只是单向的。第一个应用可以发送到第二个应用,但第二个应用无法回传信息。我正在使用不同的意图操作(intent action)从第二个应用程序发送到第一个应用程序,但除此之外它们是相同的。你有什么想法为什么会出现这种情况吗?我尝试了我能想到的所有方法,并阅读了大部分我能在这里找到的帖子,但一切都无济于事。
它没有崩溃或给我任何指示,以表明在logcat中发生了什么,就像什么都没发生一样。
发送功能
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);
}
收到课程
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.....
}
收到应用程序清单。<!-- for receiving logs -->
<receiver
android:name = "LogReceiver"
android:enabled="true">
<intent_filter>
<action android:name="com.me.intent.finishlog" />
</intent_filter>
</receiver>