我正在将上下文从 Activity A传递到页面适配器,并且在该适配器内部我传递了进行调用的 Intent

 Intent intent = new Intent(Intent.ACTION_CALL);
                        intent.setData(Uri.parse("tel:" + number));
                        intent.putExtra("id",listId.toString());
                        context.startActivityForResult(intent, 105);

Activity A继承自另一个 Activity B,在该基础 Activity B内,onActivityResult定义为:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    if (requestCode == 104) {
        if (GetLocation.isLocationEnabled(this)) {
            <my codes>
        }
    }
}

在 Activity A内,我的onActivityResult为:
@Override
 public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    if (requestCode == 105) {

        Bundle extras=getIntent().getExtras();
        String user_Id=extras.getString("id");
    }
}

我的user_Id始终为空值,有人可以在这个问题上为我提供帮助吗?

最佳答案

使用intent.getExtras()而不是getIntent().getExtras()getIntent()将为您提供最初启动您的 Activity 的intent

关于android - getIntent()。getExtras()在OnActivityResult中传递空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33017117/

10-10 18:45
查看更多