Когда я запускаю активность из виджета, я хочу, чтобы кнопка «Назад» переходила на домашний экран, но вместо этого она переходит к основной деятельности приложения.После игры, я обнаружил, что, если я как-то закрою основное действие приложения, эта проблема не возникает.Странно.
Я нашел решение здесь , в котором говорится, что вызывать finish ();в моей основной деятельности onPause ().Очевидно, что это неправильное решение, например, переориентация экрана вызывает onPause (), поэтому активность воли прекращается при повороте телефона.
Вот как я начинаю свою деятельность:
@Override
public void onReceive(Context context, Intent intent) {
[...]
//new Emergency().emDialog(context).show();
Intent myIntent = new Intent(context, EmergencyActivity.class);
// FLAG_ACTIVITY_NEW_TASK is needed because we're not in an activity
// already, without it we crash.
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
Вы можете увидеть остальную часть кода в http://code.google.com/p/emergencybutton/source/browse
edit: я пытался запустить упражнение по-другому, но все равно он не работает правильно:
Intent myIntent = new Intent();
myIntent.setClassName("com.emergency.button", "com.emergency.button.EmergencyActivity");