Android resultCode==RESULT\u OK在redmi note3中不起作用
嗨,我想在我的下一个活动中捕获图像并对该图像进行一些操作。我已尝试在三星和Moto G中运行以下代码,其工作正常。当我使用redmi note3尝试相同的代码时,单击右键标记后,它将进入相同的活动。如何解决此问题?这是我的代码:Android resultCode==RESULT\u OK在redmi note3中不起作用,android,Android,嗨,我想在我的下一个活动中捕获图像并对该图像进行一些操作。我已尝试在三星和Moto G中运行以下代码,其工作正常。当我使用redmi note3尝试相同的代码时,单击右键标记后,它将进入相同的活动。如何解决此问题?这是我的代码: fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri outputFileUri = Uri.fromFile(originalFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
} catch (ActivityNotFoundException e) {
Toast.makeText(getApplicationContext(), "No camera app found!", Toast.LENGTH_LONG).show();
}
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode,resultCode,data);
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
Bitmap imageData = null;
if (resultCode ==Activity.RESULT_OK) {
try
{
BitmapFactory.Options bitopt=new BitmapFactory.Options();
imageData = BitmapFactory.decodeFile(imagePath, bitopt);
Uri tempUri = getImageUri(getApplicationContext(), imageData);
Intent i = new Intent(this, Image_R.class);
i.putExtra("imageUri", tempUri.toString());
startActivityForResult(i, 3);
}
catch (Exception e) {
Toast.makeText(this, "Unable to save image", Toast.LENGTH_LONG).show();
}
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the image capture
}
}
将此代码添加到
清单
文件中的活动
标记中
android:configChanges="orientation|keyboardHidden|screenSize"
它不会让您当前的活动破坏和重新创建,因此您将获得结果
如果这不起作用,请确保您的设备未处于省电/节电模式。
具有主动电源/电池节省模式的RedMi设备会导致以前的活动失去其状态,当返回以获取结果时,它将再次调用onCreate,因此您将无法获得真正的结果。替换此:--
调试onActivityResult方法,检查哪里出了问题,在哪一步,然后将其发布以获得更好的效果help@Vickyexpert当我运行此代码时,resultCode==Activity.RESULT\u OK为redmi和moto resultCode=-1获取resultCode=0。此外,在此之后,它不会在redmi mobile中尝试阻止。此代码是在片段中还是在活动中?@Vishal Patoliya是的Activityput您的活动定义代码属于清单文件,我使用该代码尝试过,并且电源/电池节约模式已关闭。但它仍不调用下一个活动。正如@Vickyexpert所说,您应该调试onActivityResult,并检查实际出了什么问题。然后编辑问题或评论。很乐意提供帮助。当我运行此代码时,resultCode==Activity.RESULT\u OK为redmi获取resultCode=0,moto resultCode=-1。之后,它不会在redmi mobile中尝试阻塞。requestCode呢?它们是否按预期返回?您是否选中了“开发人员选项”中的“不保留活动”?MyFileContentProvider是什么?
i.putExtra(MediaStore.EXTRA_OUTPUT, MyFileContentProvider.CONTENT_URI);