从 Intent 中获取结果

Posted

技术标签:

【中文标题】从 Intent 中获取结果【英文标题】:Get result from an 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();
                    
                
            );```

【问题讨论】:

【参考方案1】:

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

【讨论】:

那么我怎么知道权限是否被检查? @dani:大概是打电话给canDrawOverlays() 好的,我会试试的。 它工作,谢谢。

以上是关于从 Intent 中获取结果的主要内容,如果未能解决你的问题,请参考以下文章