gpt4 book ai didi

java - onClick 方法无法捕获未保存到图库的图像和文件

转载 作者:行者123 更新时间:2023-12-02 04:10:35 25 4
gpt4 key购买 nike

我正在尝试使用cameraKit库来捕获图像并使用onClick方法将其保存到我的图库中。 onClick 方法不起作用,我不明白为什么,文件没有保存到图库或 DCIM。

我已为应用程序添加了写入外部存储的权限,但这并没有产生任何影响。

package com.example.camerakitqr;



public class Scanner extends AppCompatActivity {
private CameraKitView cameraKitView;
private Button detectButton;
//GraphicOverlay graphicOverlay;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cameraKitView = findViewById(R.id.camera);
detectButton = findViewById(R.id.detectButton);
detectButton.setOnClickListener(detectOnClickListener);

}

@Override
protected void onStart() {
super.onStart();
cameraKitView.onStart();

}

@Override
protected void onResume() {
super.onResume();
cameraKitView.onResume();
}

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

@Override
protected void onStop() {
cameraKitView.onStop();
super.onStop();
}

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








private View.OnClickListener detectOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
cameraKitView.captureImage(new CameraKitView.ImageCallback() {
@Override
public void onImage(CameraKitView cameraKitView, byte[] photo ) {

File savedPhoto = new File(Environment.getExternalStorageDirectory(), "photo.jpg");
try{
FileOutputStream outputStream = new FileOutputStream(savedPhoto.getPath());
outputStream.write(photo);
outputStream.close();
Toast.makeText(getApplicationContext(), "File saved", Toast.LENGTH_SHORT).show();
} catch (java.io.IOException e){
e.printStackTrace();
Log.e("DEMO", "Not saved");
}


}
});


}


};

最佳答案

是的,您是对的,您已在 list 中添加了权限,但如果您的设备是 Android 6+,那么您应该检查运行时权限。在你的代码中,我找不到这部分。 Official Site of Android Developers解释如何在运行时请求运行时权限。希望能帮助到你。

您应该请求使用相机以及保存照片(读/写到外部存储)的权限

关于java - onClick 方法无法捕获未保存到图库的图像和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56690775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com