Android 授予权限后的空白屏幕

Android 授予权限后的空白屏幕,android,Android,在授予许可后,我将获得一个空白屏幕 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

在授予许可后,我将获得一个空白屏幕

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        int PERMISSION_ALL = 1;
        String[] PERMISSIONS = {Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CAMERA};

        if(!hasPermissions(this, PERMISSIONS)){
            Log.d("permission","permission");
            ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);

        }

}



 public static boolean hasPermissions(Context context, String... permissions) {
        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
            for (String permission : permissions) {
                if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
                    return false;
                }
            }
        }
        return true;
    }
    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions,
                                           int[] grantResults) {
Log.d("requestCode",String.valueOf(requestCode));
        switch (requestCode) {
            case 1: {
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
                    //Do your work.
                   // finish();
                    //startActivity(getIntent());
                    Intent intent = new Intent(MainActivity.this, MainActivity.class);
                    startActivityForResult(intent, 0);
                } else {
                    Toast.makeText(this, "Until you grant the permission, we cannot proceed further", Toast.LENGTH_SHORT).show();
                }
                return;
            }
            default:
                super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }
我得到一个对话框,要求摄像机和位置许可。允许后,我得到一个空白屏幕,手机挂起

我得到的是“调试器不再处于活动状态”和其他信息。我正在获取“允许权限”对话框,但没有获取权限标记,也没有调用OnRequestPermissionsResult()


有人能帮我吗?

我相信这是因为你没有真正运行任何UI代码。例如,在onRequestPermissionsResult()方法中授予权限后,我会更改您拥有的内容:


到您想要呈现的任何UI。

您的LogCat会怎么说?我假设您在检查
haspowpermissions()
后可以看到“permission”标记,但是
requestCode
是否如预期的那样为1?是否签入ActivityMAin.java?我假设是因为setContentView(R.layout.activity_main)。如果是这样的话,为什么还要用MainActivity
startActivityForResult
?我得到的是“调试器不再处于活动状态”而没有其他信息。我正在获取“允许权限”对话框,但没有获取权限标记,也没有调用OnRequestPermissionsResult()。
Intent intent = new Intent(MainActivity.this, MainActivity.class);
                    startActivityForResult(intent, 0);