ありがとうあなたのjavaファイル内のランタイム許可を与えます。内蔵メモリー/ SDカード
に画像を保存するための
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_PERMISSION_CODE);
}
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, READ_PERMISSION_CODE);
}
方法を
(デバイスの外部メモリに書き込もうとすると、最初にt彼はアンドロイドは、デバイスにインストールされているSDカードを見つけようとし、それに書き込みます。 、SDカードが利用できない場合、データは、デバイスの内部メモリに書き込まれます:私は入れ
は
private void saveImageToLog(){
String timeStampString = Calendar.getInstance().get(Calendar.MILLISECOND);
File appDirectory = new File(Environment.getExternalStorageDirectory() + "/MyAppImageLog");
File photo = new File(appDirectory, "photo_" + timeStampString+ ".png");
if (!appDirectory.exists()) {
appDirectory.mkdir();
}
if (photo.exists()) {
photo.delete();
}
try {
Bitmap bmp = bitmapImage;
FileOutputStream fos = new FileOutputStream(photo.getPath());
bitmapImage.compress(Bitmap.CompressFormat.PNG, 0, fos);
fos.flush();
fos.close();
}catch (Exception e){
e.printStackTrace();
Log.v("log_tag", e.toString());
testInvalid = "";
}
}
あなたは今のアンドロイド7.0 ** –
と**銀河S6エッジのために**ランタイム許可**を追加しましたボタンをクリックすると、スクリーンショットが動作することを確認します。 – maivenn