startActivityForResult и Отдельно оплачиваемые предметы Намерений, кажется, что отдельно оплачиваемые предметы не пододвинуты обратно

У меня есть этот код:

Intent intent = new Intent();
        intent.setAction(Intent.ACTION_PICK);
        intent.setData(ContactsContract.Contacts.CONTENT_URI);
        intent.putExtra(EXTRA_ONLINE_ID, (String) v.getTag());
        startActivityForResult(intent, PICK_CONTACT);

Затем на ответе:

public void onActivityResult(int reqCode, int resultCode, Intent data) {


        switch (reqCode) {
            case (PICK_CONTACT):
                if (resultCode == Activity.RESULT_OK) {
                    try {
                        Uri contactData = data.getData();
                        String onlineid = data.getStringExtra(EXTRA_ONLINE_ID);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                break;
        }
        super.onActivityResult(reqCode, resultCode, data);
    }

onlineid переменная является пустой. Как я могу передать значение и затем получить его назад?

Править

Я даже попробовал,

Bundle extras = data.getExtras(); // returns null
17
задан Carl Manaster 14 June 2011 в 23:35
поделиться

2 ответа

ok Проверьте, настроено ли ваше Activity android: launchMode как SingleTask или SingleInstance! это должно быть проблема :)

0
ответ дан 30 November 2019 в 14:50
поделиться

У меня тоже были проблемы с этим.

Вместо этой строки

 intent.putExtra(EXTRA_ONLINE_ID, (String) v.getTag());

Попробуйте

 intent.putExtra(EXTRA_ONLINE_ID, "" + v.getTag());
0
ответ дан 30 November 2019 в 14:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: