當前位置:首頁 » 安卓系統 » android調用圖片

android調用圖片

發布時間: 2022-11-20 06:18:29

1. Android webview調取安卓原生相機和相冊上傳圖片

適配安卓10方式:
返回URI即可

手機上載入webview,網頁上上傳圖片調用原生相機和相冊上傳圖片

先設置好webview的載入以及websetting,這里就不多說了。

主要是setWebChromeClient方法的實現

這個方法分幾個版本的適配3.0以下的設備,3.0到4.1的設備,4.1到5.0的設備,以及5.0以上的設備,每個方法參數不一樣適配時請注意。5.0以下的參數都是 ValueCallback<Uri> ,以上的設備需要 ValueCallback<Uri[]> ,回傳數據的時候也是對應的不要弄錯了。

最後的效果如下:

2. Android studio中XML文件調用圖片,這樣有什麼問題格式嗎 還有就是Android

1.在drawable/pic2前面添加@,引用drawable-xhdpi,drawable-mdpi等文件夾下圖片的格式是:@drawable/name_pic,同理引用其他xml文件的格式也是:@string/name_str,@dimen/name_dimen,@anim/name_anim,@array/name_array等

3. android調用系統圖庫的問題

調用系統圖庫:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"選擇圖片"), 2);

獲取圖片的內容:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Drawable d =null;
if (requestCode == 2) {
if (Activity.RESULT_OK == resultCode) {
Uri uri1 = data.getData();
Cursor cursor = this.getContentResolver().query(uri1, new String[]{"_data"},null, null, null);
if(cursor.moveToFirst()){
String otherfile = cursor.getString(0);
d=Drawable.createFromPath(otherfile );
}
}
}
}

4. 如何調用android的內置圖片

調用android的內置圖片的方法:
方法一
Java code
File file=new File("/sdcard/IMG/1.jpg");
Intent it =new Intent(Intent.ACTION_VIEW);
Uri mUri = Uri.parse("file://"+file.getPath());
it.setDataAndType(mUri, "image/*");
startActivity(it);
方法二
Java code
ComponentName componentName=new ComponentName("com.cooliris.media","com.cooliris.media.Gallery"); Intent intent=new Intent();
intent.setComponent(componentName);
File file=new File("/sdcard/IMG/1.jpg");
Uri mUri = Uri.parse("file://"+file.getPath());
intent.setData(mUri);
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);

5. android 調用圖庫時怎樣選擇多張照片

步驟1:編寫重定向到圖片庫的代碼
我們需要寫一些Java代碼來處理按鈕的點擊事件,而重定向到圖片庫的代碼如下:
Intent i = new Intent(
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(i, RESULT_LOAD_IMAGE);

注意:這里的RESULT_LOAD_IMAGE是一個整形常量需要傳到startActivityForResult()方法。
步驟2:獲取選中的圖片
一旦選擇了一張圖片,onActivityResult()方法將會被調用。我們需要處理這個方法得到的數據,代碼如下:

1 @Override
2 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
3 super.onActivityResult(requestCode, resultCode, data);
4
5 if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
6 Uri selectedImage = data.getData();
7 String[] filePathColumn = { MediaStore.Images.Media.DATA };
8
9 Cursor cursor = getContentResolver().query(selectedImage,
10 filePathColumn, null, null, null);
11 cursor.moveToFirst();
12 13 int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
14 String picturePath = cursor.getString(columnIndex);
15 cursor.close();
16 }

注意:onActivityResult()方法只有當圖片被選中後才會調用。在這個方法中,我們需要檢查requestCode是否是我們之前傳給startActivityForResult()方法的RESULT_LOAD_IMAGE。

6. Android通過外部存儲調出圖片,能不能看看代碼哪有錯

android.permission.READ_EXTERNAL_STORAGE


android.permission.WRITE_EXTERNAL_STORAGE

Android 6.0以下是沒有問題的,6.0及其以上就要請求運行時許可權了,添加許可權,並且申請許可權就行了。申請許可權框架有很多可以自行搜索使用,也可以參照google官方模板範例。另外Imageview控制項初始化的時候 不要再調用方法的時候才去初始化,防止控制項未初始化完成就調用控制項出現異常。應該再onCreate() 時就一並進行布局以及控制項的初始化工作。


  • 檢查許可權

    public static final int REQUEST_READ_EXTERNAL_STORAGE = 9999;

    boolean hasPermission = ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
    if (hasPermission){
    //已經擁有許可權
    getPictureFromAlbum();
    }else {
    //請求許可權
    ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},REQUEST_READ_EXTERNAL_STORAGE);
    }

  • 許可權處理

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == REQUEST_READ_EXTERNAL_STORAGE){
    if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
    //擁有許可權
    getPictureFromAlbum();//讀取相冊圖片
    }else {
    //許可權拒絕 提示用戶並重新申請許可權,或者引導用戶去主動設置許可權
    }
    return;
    }

    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

  • 清單文件別忘了添加許可權

    <uses-permission

    android:name="android.permission.READ_EXTERNAL_STORAGE" />


7. android中調用圖片出現異常。但換成其他圖片就沒問題。

檢查下格式、命名、引用路徑

8. android怎樣調用系統相冊

使用系統自帶的圖片瀏覽器應用程序Gallery可以打開一張指定的圖片,//使用IntentIntent intent = new Intent(Intent.ACTION_VIEW);//Uri mUri = Uri.parse("file://" + picFile.getPath());Android3.0以後最好不要通過該方法,存在一些小Bugintent.setDataAndType(Uri.fromFile(picFile), "image/*");startActivity(intent)

9. android 調用相冊的圖片 圖片無法找到 路徑應該怎麼寫

先引入Environment類,然後調用getExternalStorageDirectory()函數獲得sd卡路徑,然後連接在你的filename前面,應該就可以解決.

具體:
import android.os.Environment;

......

File f = new File(Environment.getExternalStorageDirectory() + fileName);

其他用到fileName的地方類似.

另外,讀寫sd卡需要在AndroidManifest.xml文件內加入許可權,具體:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

10. android怎麼調用系統自帶的圖庫打開指定目錄的相冊

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//完成照相後回調用此方法
super.onActivityResult(requestCode, resultCode, data);
case 1:
switch (resultCode) {
case Activity.RESULT_OK://照相完成點擊確定
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測sd是否可用
Log.v("TestFile", "SD card is not avaiable/writeable right now.");
return; }
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");// 獲取相機返回的數據,並轉換為Bitmap圖片格式
FileOutputStream b = null;
File file = new File("/sdcard/pk4fun/");
file.mkdirs();// 創建文件夾,名稱為pk4fun // 照片的命名,目標文件夾下,以當前時間數字串為名稱,即可確保每張照片名稱不相同。網上流傳的其他Demo這里的照片名稱都寫死了,則會發生無論拍照多少張,後一張總會把前一張照片覆蓋。細心的同學還可以設置這個字元串,比如加上「IMG」字樣等;然後就會發現sd卡中myimage這個文件夾下,會保存剛剛調用相機拍出來的照片,照片名稱不會重復。
String str = null;
Date date = null;
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");// 獲取當前時間,進一步轉化為字元串
date = new Date(resultCode);
str = format.format(date);
String fileName = "/sdcard/myImage/" + str + ".jpg";
sendBroadcast(fileName);
try {
b = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把數據寫入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
} break;
case Activity.RESULT_CANCELED:// 取消
break;
}
break;
case 2:
switch (resultCode) {
case Activity.RESULT_OK: {
Uri uri = data.getData();
Cursor cursor = mActivity.getContentResolver().query(uri, null,
null, null, null);
cursor.moveToFirst();
String imgNo = cursor.getString(0); // 圖片編號
String imgPath = cursor.getString(1); // 圖片文件路徑
String imgSize = cursor.getString(2); // 圖片大小
String imgName = cursor.getString(3); // 圖片文件名
cursor.close();
// Options options = new BitmapFactory.Options();
// options.inJustDecodeBounds = false;
// options.inSampleSize = 10;
// Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options);
}
break;
case Activity.RESULT_CANCELED:// 取消
break;
}
break;
}

熱點內容
普瑞維亞油混配置如何 發布:2025-03-06 17:58:13 瀏覽:21
柴油朋克之戰安卓哪裡下載 發布:2025-03-06 17:50:16 瀏覽:213
安卓x微信鈴聲怎麼改 發布:2025-03-06 17:50:15 瀏覽:890
java調度任務 發布:2025-03-06 17:49:31 瀏覽:714
js值傳給php 發布:2025-03-06 17:39:22 瀏覽:901
蘋果拉結爾輔助腳本免費 發布:2025-03-06 17:39:19 瀏覽:564
雲伺服器可以通過遠程打游戲嗎 發布:2025-03-06 17:16:43 瀏覽:917
cs新版本要什麼配置 發布:2025-03-06 17:15:22 瀏覽:227
用戶登錄密碼設置規則是什麼 發布:2025-03-06 17:04:40 瀏覽:753
海外移動賬號訪問 發布:2025-03-06 17:00:09 瀏覽:817