簡體   English   中英

模擬外部存儲android

[英]emulated external storage android

我創建具有攝像頭功能的應用程序,並有意將攝像頭稱為快照並將文件保存在外部存儲的“下載”文件夾中,但是隨后我搜索它們在另一個文件夾“ / storage / emulated / 0 / download /”中。

為什么Android需要2個導演? 使用相同的文件可以保存我的照片。

我正在使用Galaxy Nexus手機。 對於Galaxy平板電腦,一切都很好。

public void openCamera(View view) {
    try {
        int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1991;

        photoName();
        String _path = Environment.getExternalStoragePublicDirectory(DOWNLOAD_SERVICE) + "/" + photoFileName;
        System.out.println("PATH: "+ _path);
        File file = new File( _path );
        Uri outputFileUri = Uri.fromFile( file );

        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
        startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);

    } catch (Exception e) {

    }



private String photoName() {
   boolean isWhile = true;
   int randomId = 0;
   int count = 0;

   while (isWhile) {
       photoFileName = "MobiliSkaita_" + count + ".jpg";
       File fileToCheck = new File(Environment.getExternalStoragePublicDirectory(DOWNLOAD_SERVICE) + "/" + photoFileName);

       if (fileToCheck.exists()) {
           System.out.println("FAILAS YRA: " + randomId);
           randomId++;
           photoFileName="MobiliSkaita_" + randomId + ".jpg";
       } else {
           System.out.println("FAILAS NERA: " + randomId);
           isWhile = false;
       }
       count++;
   }    
   return photoFileName;

http://developer.android.com/guide/topics/data/data-storage.html#filesExternal中 ,某些設備使用不同的目錄進行外部存儲。

您應該嘗試(API> = 8):

Context.getExternalFilesDir();

或(API <8)

Context.getExternalStorageDirectory();

獲取當前設備上的外部存儲目錄(假設已安裝)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM