【问题标题】:App closed when pressing back button from activity results intent [closed]从活动结果意图按下后退按钮时应用程序关闭[关闭]
【发布时间】:2021-10-08 07:15:26
【问题描述】:

StartActivityForResults 已弃用。所以我使用 new using new getting result from activity 方法来选择 PDF 文件。一切正常,但如果意图从我的应用开始选择文件,并且如果从该意图按下后退按钮,则应用关闭。

ActivityResultLauncher<String> mGetContent = registerForActivityResult(new GetContent(),
    new ActivityResultCallback<Uri>() {
        @Override
        public void onActivityResult(Uri uri) {
            // Handle the returned Uri
        }
});

@Override
public void onCreate(@Nullable savedInstanceState: Bundle) {
    // ...

    Button selectButton = findViewById(R.id.select_button);

    selectButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            // Pass in the mime type you'd like to allow the user to select
            // as the input
            mGetContent.launch("application/pdf");
        }
    });
}

请帮忙...

【问题讨论】:

    标签: android android-intent onactivityresult


    【解决方案1】:

    经过一番努力,我发现如果我们在不选择任何文件的情况下按下返回按钮,活动结果将返回 null。 所以我们应该检查activity结果是否不等于null,然后进行一些操作。

    ActivityResultLauncher<String> mGetContent = registerForActivityResult(new GetContent(),
        new ActivityResultCallback<Uri>() {
            @Override
            public void onActivityResult(Uri uri) {
               if(uri!=null){
                // Handle the returned Uri
               }
            }
    });
    

    【讨论】:

      【解决方案2】:

      添加到清单android:parentActivityName,后按应用打开父活动 示例:

      <activity
              android:name=".FileActivity"
              android:parentActivityName=".Menu"/>
      

      【讨论】:

        猜你喜欢
        • 2016-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-28
        相关资源
        最近更新 更多