15

私が作成した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>
4

4 に答える 4

4

このようにもう一度試してみてください。カテゴリを追加する必要がある場合があります

<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>
于 2013-08-15T14:24:41.790 に答える