无法在调用活动上获得onActivityResult

时间:2017-11-02 10:36:22

标签: android android-intent android-activity startactivityforresult

我尝试使用Intent.ACTION_GET_CONTENT从图库中获取照片,我尝试做的就是按正常方式拨打startActivityForResult

// at CallerActivity
private View.OnClickListener onChoosingGallery = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT).setType("image/*");
        startActivityForResult(intent, MY_REQUEST_CODE_PICK_GALLERY);
    }
};

通话后,画廊打开,我可以成功选择图像,然后在选择图像时关闭图像"常规"但在那之后,我没有收到关于我的活动onActivityResult()的电话(让我们称之为CallerActivity)。 这是我在接收广播接收器后使用常规方式启动CallerActivity时获得的第一个场景:

    broadCast = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
             Intent intent = new Intent(MainActivity.this, CallerActivity.class);
             startActivity(intent);
        }
    };

我的第二种情况是使用CallerActivity调用startActivityForResult()

    broadCast = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Intent intent = new Intent(MainActivity.this, CallerActivity.class);
            startActivityForResult(intent, MY_REQUEST_CODE);
        }
    };

在这种情况下,我直接从onActivityResult()上的MainActivity获取startActivityForResult(),尽管我没有从中调用CallerActivity,但它只是通过了CallerActivity {1}}并直接转到调用MainActivity resultIntent的活动,当检查onActivityResult() Intent.ACTION_GET_CONTENT时,CallerActivity来自resultCode' equals 'Activity.RESULT_CANCELED但它来自CallerActivity singleInstance

我在SO上发现了很多相关问题,但其中没有一个是我的情况,我没有在{strong> manifest.xml <中将android:noHistory="true"定义为<activity android:name=".Views.Activities.CallerActivity" android:screenOrientation="portrait" /> / strong>我也没有设置bootstrap 4。只是活动的正常声明:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="tab-section">

  

      <div class="row">
    <div class="col-6"  style="border-right: 2px solid grey; border-bottom: 2px solid grey;">
     <div > <h2>$ 2,300</h2></div>
    </div>
    <div class="col-6" style="border-bottom: 2px solid grey;">
      <div><h2>$ 53,100</h2></div>
    </div>
    <div class="col-6" style="border-right: 2px solid grey;">
<div><h2>12</h2></div>
    </div>
    <div class="col-6">
<div><h2>68%</h2></div>
    </div>
  </div>

值得一提的是,我在其他活动的其他地方使用了相同的逻辑,它运作得很完美,任何关于什么是我的问题的想法,甚至如何对这种行为的原因提出线索?

0 个答案:

没有答案