Зачем заказ OrderBroadcast работает в отладочной версии приложения, но не в выпуске? Я посылаю следующий OrderedBroadcast:Android OrderedBroadcast не работает в выпуске Build
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
?
Это прослушивало меня в течение нескольких дней, поэтому любые идеи были бы весьма благодарны.
проблемы с разрешением? добавьте разрешение в '', просто нашли его [здесь] (http://developer.android.com/intl/es/reference/android/content/BroadcastReceiver.html#Security) –
calvinfly
вы полагаетесь на результирующее значение? сделал onReceive триггер приемника? или выполнить? – Elltz
Это разрешение было использовано, и я перепроверил их, я полагаюсь на получение ответа ОК от второго приложения, которое не запускает или не выполняет приемник, если я не запустил приложение-приемник в режиме отладки? – Apqu