У меня есть этот код:
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
ok Проверьте, настроено ли ваше Activity android: launchMode как SingleTask или SingleInstance! это должно быть проблема :)
У меня тоже были проблемы с этим.
Вместо этой строки
intent.putExtra(EXTRA_ONLINE_ID, (String) v.getTag());
Попробуйте
intent.putExtra(EXTRA_ONLINE_ID, "" + v.getTag());