私が作成した2つのアプリがあり、一方から他方にインテントを送信しようとしていますが、インテントは決して到達しませんが、onReceive()
この問題は一方向にすぎません。最初のアプリは 2 番目のアプリに送信できますが、2 番目のアプリは情報を送り返すことができません。別のインテント アクションを使用して 2 番目から 1 番目に送信していますが、それ以外は同じです。これが機能しない理由について何か考えはありますか? 私は考えられるすべてのことを試し、ここで見つけることができるほとんどの投稿を読みましたが、役に立ちませんでした.
クラッシュしたり、ログキャットで何が起こっているかを示したりすることはありません。何もしていません。
送信機能
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>