如何自定义意图在android中的mediaProjection中请求许可?

rslzwgfq  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(112)

如果我想创建mediaProjection,我必须使用createScreenCaptureIntent来请求权限,对吗?
然后在ActivityResult上,我可以通过结果代码和数据得到mediaProjection。
我可以创建自己的Intent和Activity来询问用户是否要启动记录屏幕或镜像屏幕吗?
我试过了,但它将返回空在getMediaProjection,即使我把额外的。

  1. myIntent.putExtra("android.media.projection.extra.EXTRA_MEDIA_PROJECTION",myInetnt);

字符串

irtuqstp

irtuqstp1#

我不确定我是否正确理解了你的意思。但是如果你想请求屏幕录制的许可,这将是正确的方法(从API 30开始):

  1. ActivityResultLauncher<Intent> launcher = registerForActivityResult(
  2. new ActivityResultContracts.StartActivityForResult(),
  3. new ActivityResultCallback<ActivityResult>() {
  4. @Override public void onActivityResult(ActivityResult result) {
  5. if (result.getResultCode() == RESULT_OK) {
  6. // your code, e.g. start a new activity
  7. } else {
  8. // no permission given, finish your app
  9. }
  10. }
  11. }
  12. );
  13. MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
  14. Intent myIntent = new Intent(mediaProjectionManager.createScreenCaptureIntent());
  15. launcher.launch(myIntent);

字符串

展开查看全部

相关问题