重新启动应用后,Zxing条码扫描器无法正常工作

问题描述

我用Zxing库创建了条形码扫描仪。单击扫描按钮后,我将从其余端点获取数据。当我在设备上安装应用程序时,一切正常。即使在onBackPressed上也可以使用。但是,当我重新启动应用程序并单击“扫描”按钮时,什么也没有发生,甚至什至在日志中都没有出现任何错误或有帮助的东西..!我意识到,当我关闭该应用程序并转到设备上该应用程序的信息时,我会看到相机的权限应已打开。.但是,如果我关闭该权限并再次打开该应用程序,则会再次看到请求权限对话框。我选择“允许”,相机将打开..!我尝试了很多建议,在这里可以读到,但还没有解决问题。

在我的ScanCodeActivity上:


        Intent intent =  new Intent(ScanCodeActivity.this,TimelineActivity.class);
        intent.putExtra("barcode",result.getText());
        startActivity(intent);

        onBackPressed();
    } 

@Override
    protected void onPause() {
        super.onPause();
        scannerView.stopCamera();
    }

    @Override
    protected void onPostResume() {
        super.onPostResume();
        if (ContextCompat.checkSelfPermission(getApplicationContext(),Manifest.permission.CAMERA)
                != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA},MY_PERMISSIONS_REQUEST_CAMERA);

        }
        scannerView.setResultHandler(this);
        scannerView.startCamera(mCameraId);


    }


在MainActivity上:

                != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this,MY_PERMISSIONS_REQUEST_CAMERA);
        }



@Override
    public void onRequestPermissionsResult ( int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults){
        super
                .onRequestPermissionsResult(requestCode,permissions,grantResults);

        if (requestCode == MY_PERMISSIONS_REQUEST_CAMERA) {
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(MainActivity.this,"Camera Permission Granted",Toast.LENGTH_SHORT)
                        .show();
            } else {
                Toast.makeText(MainActivity.this,"Camera Permission Denied",Toast.LENGTH_SHORT)
                        .show();
            }


        }

        FloatingActionButton myFavBtn = findViewById(R.id.myFavBtn);
        myFavBtn.setOnClickListener(

                this::onClick);
    }


    private void onClick(View view) {
        startActivity(new Intent(this,ScanCodeActivity.class));
}

我的manifest.xml的一部分:

 <activity android:name=".ui.ScanCodeActivity" />
        <activity android:name=".ui.TimelineActivity" />
        <activity android:name=".ui.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name=".ui.SlideActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

为您提供一般视图。.安装后,我的应用程序的第一个视图上将显示“正在注册”屏幕。然后,在主要活动上,有一个扫描按钮,所有主要功能都在其中开始!不知道我是否应该给您更多细节!!!如果您能给我一个如何处理此问题的提示,我将不胜感激!提前谢谢!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...