2016-05-20 5 views
-2

Каковы преимущества и недостатки регистрации приемника вещания через файл манифеста, а также через код?приемник радиовещания для Android не прослушивает, когда приложение убито

Я зарегистрировал свой приемник по коду, чтобы пользователь мог начать и остановить его, так или иначе, я заметил, что приемник не «прослушивает», когда приложение убито.

Это нормально?

спасибо.

ответ

2

Да, это нормально. Вы зарегистрировали трансляцию в действии с помощью кода, приложение было убито и транслировано. Если U хочет, чтобы ваша трансляция работала, когда приложение не запускалось, определите трансляцию в файле AndroidManifest.

Если U хочет, чтобы ваш пользователь мог «отменить регистрацию», вы можете добавить дополнительную логику в свою функцию onRecieve.

Когда вы позволяете своему пользователю «незарегистрированный» приемника, просто сохраните его в своих префов, или в БД, что угодно, и проверить это значение, прежде чем сделать работу:

@Override public void onReceive(Context context, Intent intent) { 
    boolean isUnregisteredByUser = getSharedPreferences("MyPrefs", context.MODE_PRIVATE) 
     .getBoolean("IS_UNREGISTERED", false); 

    if(!isUnregisteredByUser){ 
     /* do stuff, handle intent etc */ 
    } 
} 

Это легкий путь, но, возможно, плохой способ ...

+0

спасибо Владымир, еще один вопрос: зарегистрировал ли я трансляцию через манифест, смогу ли я предоставить возможность пользователю отменить регистрацию через код? –

Смежные вопросы