OrderedBroadcastはなぜアプリケーションのデバッグビルドでは動作しますが、リリースでは動作しませんか?私は、次のOrderedBroadcastを送っています:以下のようにリリースビルドでAndroid OrderedBroadcastが動作しない
context.sendOrderedBroadcast(sendInt, "xxx.xxxx.permission.API", new BroadcastReceiver() {
@SuppressLint("NewApi")
@Override
public void onReceive(Context receivercontext, Intent intent) {
Bundle results = getResultExtras(true);
if (results.getInt("Result", Activity.RESULT_CANCELED) == Activity.RESULT_OK) {
Log.d("DEBUG", "OK");
} else {
Log.e("DEBUG", "Failed");
}
}
}, null, Activity.RESULT_OK, null, null);
両アプリはAndroidManifest.xmlファイルに適切な権限を持っていると受信機が宣言されています
<receiver android:name="xxx.xxxx.xxxx.Receiver1"
android:enabled="true"
android:exported="true"
android:permission="xxx.xxxx.permission.API">
<intent-filter>
<action android:name="xxx.xxxx.permission.API.1" />
</intent-filter>
</receiver>
私が述べたように、私は、送信者の両方を持っている場合レシーバーアプリをデバッグビルドで実行すると、すべてが完全に動作しますが、リリースモード(プロガードも何もない)でレシーバーアプリを実行すると、送信者アプリはただRESULT_CANCELLED
の結果になりますか?
これは数日間私を盗んだので、任意のアイデアは非常に高く評価されるだろう。
権限の問題? ''にアクセス許可を追加してください。[here](http://developer.android.com/intl/es/reference/android/content/BroadcastReceiver.html#Security) –
calvinfly
あなたは頼りにしています結果の値は?レシーバーのonReceiveがトリガーしましたか?実行するか? – Elltz
アクセス許可が使用されていて、これらを再チェックしました。レシーバーがデバッグモードでレシーバーアプリを実行しない限り、レシーバーがトリガーまたは実行しない2番目のアプリからOK応答を受け取ることに頼っていますか? – Apqu