私は私のSDカードにこのコードを書いたが、私は外部記憶装置という用語を誤解しているかどうかわからない、しかし、スクリーンショットではなく、私はHTCの一つM8sを使用していsdカードの代わりに内部メモリに保存
public void snapshot(View view) {
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
} else {
mExternalStorageAvailable = mExternalStorageWriteable = false;
}
if(mExternalStorageWriteable){
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath() + "/DCIM/100MEDIA/");
dir.mkdirs();
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
final File file = new File(dir, "MapScreen"+timeStamp+".png");
GoogleMap.SnapshotReadyCallback callback = new GoogleMap.SnapshotReadyCallback() {
Bitmap bitmap;
@Override
public void onSnapshotReady(Bitmap snapshot) {
bitmap = snapshot;
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
}
};
mMap.snapshot(callback);
}
}
SDカードの私の内部の携帯電話のメモリに保存されている
https://developer.android.com/guide/topics/data/data-storage.html#filesExternal – antonio
をご覧ください。この質問の回答を確認してください:http://stackoverflow.com/questions/17674634/save-and-reading-bitmaps-images-inside-in-inner-inner-inner-in-android – user3673952
[Android 4.0以降の外部SDカードパスを取得するにはどうすればよいですか?](http://stackoverflow.com/questions/) 11281010/how-can-i-get-external-sd-card-path-for-android-4-0) – Bryan