Вот мой код: final Intent intent = new Intent(this, SelectWidgetActivity.class); startActivityForResult(intent, REQUEST_CREATE_APPWIDGET);
onActivityResult возвращает нулевое значение getExtra после возвращения назад с разрешения диалога
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
String selectedName = data.getStringExtra(SelectWidgetActivity.SELECTED_WIDGET);
if(!mAppWidgetManager.bindAppWidgetIdIfAllowed(appWidgetId, info.provider)) {
Intent bindIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_BIND);
bindIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
bindIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_PROVIDER, info.provider);
bindIntent.putExtra(SelectWidgetActivity.SELECTED_WIDGET, selectedName);
startActivityForResult(bindIntent, REQUEST_BIND_APPWIDGET);
}
}
}
Я положил строку на первый вызов startActivityForResult и на втором вызове Я пытаюсь получить ту же строку , но получение нулевого значения. Например, при первом вызове выбраноName = «Календарь», второй вызов onActivityResult() selectedName = null
Любые идеи?
Я проверил запрос кода при отладке, этот вопрос не существует – user1242192
Выполняете ли вы это (RESULT_OK, намерение) во втором мероприятии, откуда вы ожидаете результата? –
* setResult (RESULT_OK, намерение); –