软件概述: 做的一个类似与微信的界面MainActivity是登陆界面,用的是显示意图跳转到注册界面里面的一个按钮可以打开相册。
问题: 当我点击到图片后,返回的不是我的注册界面,直接跳到主界面去了。
这是主界面 注册界面
点击并获取相册权限的代码(但是我发现只打开相册好像不要这个权限)
imb.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onClick(View v) {
// checkSelfPermission 检测有没有 权限
// PackageManager.PERMISSION_GRANTED 有权限
// PackageManager.PERMISSION_DENIED 拒绝权限
if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
final AlertDialog dialog;
AlertDialog.Builder builder=new AlertDialog.Builder(myregist.this);
builder.setMessage("是否允许开启相册权限")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// requestPermissions(new String[]{Manifest.permission.CAMERA},MY_PERMISSION_REQUEST_CODE);
ActivityCompat.requestPermissions(myregist.this,
new String[]{Manifest.permission.CAMERA},
MY_PERMISSION_REQUEST_CODE);
dialog.dismiss();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(myregist.this,"取消后你不能使用相\n如需使用请自己到设置里面修改",Toast.LENGTH_LONG).show();
dialog.dismiss();
}
}).create().show();
}
}
});
}
然后是获取权限之后的操作
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(requestCode==MY_PERMISSION_REQUEST_CODE){
DoCamera();
}
else{
DoTisi();
}
}
public void DoCamera(){
Intent intentFromGallery = new Intent();
// 设置文件类型
intentFromGallery.setType("image/*");
intentFromGallery.setAction(Intent.ACTION_PICK);
startActivityForResult(intentFromGallery, CODE_REQUEST);
}
最后就是点击图片之后的回传
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==CODE_REQUEST&&resultCode==RESULT_OK &&data!=null) {
Bundle bundle=data.getExtras();
Bitmap bitmap=(Bitmap) bundle.get("data");
imb.setImageBitmap(bitmap);
}
}
感觉可能是回传这里有问题,最近弄了好久有好心人看看吗