Да, это нормально. Вы зарегистрировали трансляцию в действии с помощью кода, приложение было убито и транслировано. Если 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 */
}
}
Это легкий путь, но, возможно, плохой способ ...
спасибо Владымир, еще один вопрос: зарегистрировал ли я трансляцию через манифест, смогу ли я предоставить возможность пользователю отменить регистрацию через код? –