97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

當(dāng)前位置: 移動互聯(lián)網(wǎng)學(xué)院 > Android開發(fā) > android 獲取手機內(nèi)所有圖片的代碼實現(xiàn)
android 獲取手機內(nèi)所有圖片的代碼實現(xiàn) 時間:2017-02-22     來源:移動互聯(lián)網(wǎng)學(xué)院

  我們在編寫android程序的時候,經(jīng)常會有這種需求,就是獲取手機內(nèi)的所有圖片,例如制作一個圖片編輯軟件,就需要首先獲取到手機中的圖片。今天華清遠見教育科技集團要為分享的就是android 獲取手機內(nèi)所有圖片的代碼實現(xiàn)。

  申明權(quán)限

  通過內(nèi)容觀察者獲取手機內(nèi)的所有圖片地址,圖片名

  ArrayList names = null;

  ArrayList fileNames = null;

  public List> getAllImage() {

  List> listItems = new ArrayList<>();

  names = new ArrayList();

  fileNames = new ArrayList();

  Cursor cursor = getContentResolver().query(

  MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null);

  while (cursor.moveToNext()) {

  //獲取圖片的名稱

  String name = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));

  //獲取圖片的地址

  byte[] data = cursor.getBlob(cursor.getColumnIndex(MediaStore.Images.Media.DATA));

  names.add(name);

  fileNames.add(new String(data, 0, data.length - 1));

  }

  for (int i = 0; i < names.size(); i++) {

  Map map = new HashMap<>();

  map.put("name", names.get(i));

  map.put("fileNames", fileNames.get(i));

  Log.i(MainActivity.class.getName(), names.get(i) + "");

  Log.i(MainActivity.class.getName(), fileNames.get(i) + "");

  listItems.add(map);

  }

  return listItems;

  }

  如果你的android版本是6.0以上責(zé)需要 做一個權(quán)限處理

  申請權(quán)限

  public void getSDPermission() {

  if (ContextCompat.checkSelfPermission(MainActivity.this,

  Manifest.permission.READ_EXTERNAL_STORAGE)

  != PackageManager.PERMISSION_GRANTED) {

  //申請權(quán)限

  ActivityCompat.requestPermissions(MainActivity.this,

  new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,},

  200);

  } else {

  //已經(jīng)有權(quán)限,

  //

  getAllImage();

  }

  }

  權(quán)限的回調(diào)

  @Override

  public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {

  switch (requestCode) {

  case 200: {

  // If request is cancelled, the result arrays are empty.

  if (grantResults.length > 0) {

  //判斷權(quán)限

  for (int i = 0; i < grantResults.length; i++) {

  //判斷是否 申請成功權(quán)限

  if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {

  //失敗 繼續(xù) 申請權(quán)限

  ActivityCompat.requestPermissions(MainActivity.this,

  new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},

  200);

  return;

  }else {

  getAllImage();

  }

  }

  }

  return;

  }

  }

  }