onActivityResult 总是得到 -1 作为 resultcode
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,并且数据始终包含空 uri 和空 mData。好像没有图像内容传递给 onActivityResult
。
有谁知道导致此问题的原因或如何从数据中检索屏幕截图?
非常感谢任何帮助!
看看Activity.RESULT_OK。
public static final int RESULT_OK = -1;
因此,如果您在 resultCode 中得到 -1,那您就很好了。
看完MediaProjectionManager documentation
下一步
我了解到您需要调用 getMediaProjection。
尝试在您的 onActivityResult 中调用 getMediaProjection 方法并为其提供 resultCode 和 resultData。
要获取基本示例,请查看此代码 => MediaProjectionManager use
希望对您有所帮助!!
requestcode 总是 -1 如果它给出一些输出你必须检查 resultcode
1.like 这个
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;
}
}
}
我尝试使用MediaProjectionManager
截屏。我采取的第一步是输入以下代码行:
MediaProjectionManager projectionManager = (MediaProjectionManager)this.getContext().getSystemService(Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(projectionManager.createScreenCaptureIntent(), 1);
然后我希望得到 onActivityResult(int requestCode, int resultCode, Intent data)
函数的响应。但是我发现 resultCode
始终为 -1,并且数据始终包含空 uri 和空 mData。好像没有图像内容传递给 onActivityResult
。
有谁知道导致此问题的原因或如何从数据中检索屏幕截图?
非常感谢任何帮助!
看看Activity.RESULT_OK。
public static final int RESULT_OK = -1;
因此,如果您在 resultCode 中得到 -1,那您就很好了。
看完MediaProjectionManager documentation
下一步我了解到您需要调用 getMediaProjection。 尝试在您的 onActivityResult 中调用 getMediaProjection 方法并为其提供 resultCode 和 resultData。
要获取基本示例,请查看此代码 => MediaProjectionManager use
希望对您有所帮助!!
requestcode 总是 -1 如果它给出一些输出你必须检查 resultcode 1.like 这个
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;
}
}
}