繁体   English   中英

onActivityResult的结果代码始终为-1

[英]onActivityResult always got -1 as resultcode

我尝试使用MediaProjectionManager捕获屏幕截图。 我要做的第一步是键入以下代码行:

MediaProjectionManager projectionManager = (MediaProjectionManager)this.getContext().getSystemService(Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(projectionManager.createScreenCaptureIntent(), 1);

然后,我希望使用onActivityResult(int requestCode, int resultCode, Intent data)函数进行响应。 但是,我发现resultCode始终为-1,并且数据始终包含null uri和null mData。 就像没有图像内容传递给onActivityResult

有谁知道是什么引起了这个问题,或者如何从数据中检索屏幕截图?

任何帮助深表感谢!

只需查看Activity.RESULT_OK。

public static final int RESULT_OK = -1;

因此,如果您的resultCode中为-1,则表示您很好。

阅读MediaProjectionManager文档后的下一步

我读到您需要调用getMediaProjection。 尝试在onActivityResult中调用getMediaProjection方法,并为其提供resultCode和resultData。

要获得基本示例,请查看以下代码=> MediaProjectionManager use

希望它可以帮助您!

如果requestcode提供了一些输出,您必须检查resultcode,则requestcode始终为-1,像这样1

 public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        switch (requestCode) {
            case 1:
                    //do your stuff
                break;


        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM