2016-11-15 9 views
1

У меня есть приложение, которое в основном состоит из виджета. Мне нужно настроить этот виджет, поэтому я использую активность конфигурации. Я думал, что в качестве активности конфигурации будет очень просто использовать PreferenceActivity.Как создать Android App Widget из PreferenceActivity в качестве активности конфигурации

Я уже искал некоторые вещи, но в какой-то момент я застрял. Все учебники говорят, что мне нужно сделать это, когда конфигурация закончена:

 Intent resultValue = new Intent(); 
     resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); 
     setResult(RESULT_OK, resultValue); 
     finish(); 

Теперь, это работает отлично, когда просто копироваться не-смысл в onCreate() способе PreferenceActivity. Поскольку это PreferenceActivity, у меня нет ничего похожего на кнопку, в которой говорится: «Конфигурация завершена», и я даже не могу добавить такую ​​кнопку в PreferenceActivity. Когда приведенный выше код добавлен к методу onDestroy(), кажется, что слишком поздно, потому что виджет не создается в конце концов. Но onDestroy() или onStop() - это единственное место, где конфигурация завершена, потому что пользователь нажал кнопку Android назад.

Что является разумным решением для этого?

ответ

1

Вы можете переопределить onBackPressed():

@Override 
public void onBackPressed() 
{ 
    Intent resultValue = new Intent(); 
    resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); 
    setResult(RESULT_OK, resultValue); 
    finish(); 

} 
+0

Тем временем я к такому же выводу сам, но не было времени, чтобы обновить его здесь. Спасибо за ваше предложение. Это правильный ответ для меня – Enak