6

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の結果になりますか?

これは数日間私を盗んだので、任意のアイデアは非常に高く評価されるだろう。

+0

権限の問題? ''にアクセス許可を追加してください。[here](http://developer.android.com/intl/es/reference/android/content/BroadcastReceiver.html#Security) – calvinfly

+0

あなたは頼りにしています結果の値は?レシーバーのonReceiveがトリガーしましたか?実行するか? – Elltz

+0

アクセス許可が使用されていて、これらを再チェックしました。レシーバーがデバッグモードでレシーバーアプリを実行しない限り、レシーバーがトリガーまたは実行しない2番目のアプリからOK応答を受け取ることに頼っていますか? – Apqu

答えて

1

[OK]をそんなに検索し、治験それがこのエラーの原因とアンドロイドの比較的単純なまだ迷惑なセキュリティ機能で判明した後:

(どちらか正常かのみの放送で受信し、行動することができますインストールされているアプリオーダーされたブロードキャスト)を受信する。私の場合、デバッグビルドは実行時に自動的に開かれましたが、リリースビルドは自動的に開かれていませんでした。

したがって、受信アプリ用のアプリアイコンもあり、デバイス上で確実に実行されていなければなりません。この奇妙な部分は、logcatでセキュリティエラーが生成されないことです。この種のことを知っていなければ、デバッグは非常に困難です!

0

許可を宣言すると、android:protectionLevel="signature"が使用されているようです。送信者をデバッグで実行している場合は、デバッグキーで署名されています。レシーバーはリリースキーで署名されます。したがって、署名は一致せず、受信者には許可が与えられません。

両方とも同じキーで署名されるように、リリースモードで両方を実行する必要があります。

+0

あなたの答えのために非常に多くの感謝私は午前中に私のコンピュータに戻ってくるので、それが問題であるかどうかを確認しますが、私は答えとしてマークし、 – Apqu

関連する問題