У меня есть ситуация, когда я хочу зарегистрировать вещательный приемник динамически из другого вещательного приемника (то есть внутри метода трансляции onreceive (). < /p>
private final Object threadLock = new Object();
private HandlerThread mConnMonitorthread = null;
private Handler mConnMonitorEventHandler = null;
private void initConnMonitorThread() {
if (mConnMonitorthread == null) {
synchronized (threadLock) {
if (mConnMonitorthread == null) {
mConnMonitorthread = new HandlerThread("BTEventReceiver");
mConnMonitorthread.start();
mConnMonitorEventHandler = new Handler(mConnMonitorthread.getLooper());
}
}
}
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
String data = intent.getDataString();
if (action != null) {
Log.d(TAG, "Receiver onReceive: Started " + action);
if (action.equals(Intent.ACTION_BOOT_COMPLETED) ||
action.equals(ACTION_ACL_CONNECTED) || action.equals(Intent.ACTION_MY_PACKAGE_REPLACED) || action.equals(Intent.ACTION_PACKAGE_REPLACED)) {
Log.d(TAG, "Receiver onReceive: " + action);
initConnMonitorThread();
BroadcastReceiver receiver = new Receiver();
context.registerReceiver(
receiver,
getIntentFilter(),
null,
mConnMonitorEventHandler,
Context.RECEIVER_EXPORTED
);
}
}
}
< /code>
Достоверен ли этот подход?
будет ли внутренний приемник оставаться должным образом и получить трансляции, как и ожидалось?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... st-receive
Могу ли я динамически зарегистрировать вещательный приемник внутри другого вещательного приемника в Android? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Могу ли я объявить вещательный приемник в отдельный модуль, чем приложение?
Anonymous » » в форуме Android - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-