Android resultCode==RESULT\u OK在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) {

嗨,我想在我的下一个活动中捕获图像并对该图像进行一些操作。我已尝试在三星和Moto G中运行以下代码,其工作正常。当我使用redmi note3尝试相同的代码时,单击右键标记后,它将进入相同的活动。如何解决此问题?这是我的代码:

 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);