当我运行应用程序时,在询问权限后打开空白页面。但是当我调试时,一切工作正常。这是为什么

时间:2019-06-11 12:27:34

标签: android zxing

嗨,我的应用程序流程是应用程序应询问相机和存储权限,并立即打开QrScan相机。当我调试一切正常时,但是当我运行该应用程序时,在征得许可后会打开一个空白页面,为什么那一个请解释一下。

我正在使用ZXing扫描仪视图。

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>

这是权限代码。以下是扫描代码

async function getGithubPicture(username, callback) {
    let data = await fetch('https://api.github.com/users/' + username);
    let main = await data.json();
    return main.avatar_url.toString();
}

document.getElementById('pfp').src = await getGithubPicture('harryuk');
// or 
getGithubPicture('harryuk').then(url=> document.getElementById('pfp').src = 
url)

清单文件

public static boolean checkAndRequestPermissions(final Activity context) {
    int ExtstorePermission = ContextCompat.checkSelfPermission( context,
            Manifest.permission.READ_EXTERNAL_STORAGE );
    int cameraPermission = ContextCompat.checkSelfPermission( context,
            Manifest.permission.CAMERA );
    List <String> listPermissionsNeeded = new ArrayList <>();
    if (cameraPermission != PackageManager.PERMISSION_GRANTED) {
        listPermissionsNeeded.add( Manifest.permission.CAMERA );
    }
    if (ExtstorePermission != PackageManager.PERMISSION_GRANTED) {
        listPermissionsNeeded
                .add( Manifest.permission.WRITE_EXTERNAL_STORAGE );
    }
    if (!listPermissionsNeeded.isEmpty()) {
        ActivityCompat.requestPermissions( context, listPermissionsNeeded
                        .toArray( new String[listPermissionsNeeded.size()] ),
                REQUEST_ID_MULTIPLE_PERMISSIONS );
        return false;
    }
    return true;
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
        case REQUEST_ID_MULTIPLE_PERMISSIONS:
            if (ContextCompat.checkSelfPermission( MainActivity.this, Manifest.permission.CAMERA ) != PackageManager.PERMISSION_GRANTED) {
                Toast.makeText( getApplicationContext(), "Requires acces to Camera", Toast.LENGTH_SHORT ).show();
                // initAds();
                finish();
            } else if (ContextCompat.checkSelfPermission( MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE ) != PackageManager.PERMISSION_GRANTED) {
                Toast.makeText( getApplicationContext(), "Requires Storage Permissions.", Toast.LENGTH_SHORT ).show();
                finish();
            } else {

            }
            break;
    }

}

在我运行应用程序时,询问权限而不是扫描摄像头后打开空白页,如果我将手机的模式从potraite更改为横向模式,则扫描摄像头正在打开。。但是当我调试一切正常时,无需转动电话。

0 个答案:

没有答案