【问题标题】:Get result from an Intent从 Intent 中获取结果
【发布时间】:2021-12-13 16:18:27
【问题描述】:

我想用 registerForActivityResult 检查 ACTION_MANAGE_OVERLAY_PERMISSION 而这段代码不起作用,当我检查权限时,没有出现 Toast “Ok”

mStartForResult.launch(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION));

ActivityResultLauncher<Intent> mStartForResult = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
            new ActivityResultCallback<ActivityResult>() {
                @Override
                public void onActivityResult(ActivityResult result) {
                    if (result.getResultCode() == Activity.RESULT_OK) {
                        Toast.makeText(MainActivity.this,"Ok",Toast.LENGTH_SHORT).show();
                    }
                }
            });```

【问题讨论】:

    标签: java android android-intent


    【解决方案1】:

    那个Intent 动作is not documented to return anything。所以,你永远不会得到Activity.RESULT_OK

    【讨论】:

    • 那么我怎么知道权限是否被检查?
    • @dani:大概是打电话给canDrawOverlays()
    • 好的,我会试试的。
    • 它工作,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 2020-01-30
    • 2014-05-01
    • 2015-12-08
    • 2014-07-06
    • 2014-11-03
    • 2015-01-21
    相关资源
    最近更新 更多