iApp教學(xué)||iapp利用java調(diào)用圖庫(kù)


新建uri.mjava

import android.content.ContentUris;

import android.content.Intent;

import android.net.Uri;

import android.provider.DocumentsContract;

import android.provider.MediaStore;

import android.database.Cursor;

import android.content.Context;

public static String getRealPath(Context context, Uri uri)

{

String imagePath = null;


if(DocumentsContract.isDocumentUri(context, uri))

{

// 如果是document類型的Uri,則通過(guò)document id處理


String docId=DocumentsContract.getDocumentId(uri);


if ("com.android.providers.media.documents".equals(uri.getAuthority()))


{


String id = docId.split(":")[1];

String selection = MediaStore.Images.Media._ID + "=" + id;


imagePath = getImagePath(context, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, selection);

}

else if ("com.android.providers.downloads.documents".equals(uri.getAuthority()))

{

Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(docId));

imagePath = getImagePath(context, contentUri, null);

}

}

else if("content".equalsIgnoreCase(uri.getScheme()))

{

// content類型普通方式處理

imagePath = getImagePath(context, uri, null);

}

else if("file".equalsIgnoreCase(uri.getScheme()))

{

// file類型直接獲取圖片路徑

imagePath = uri.getPath();

}

return imagePath;

}


public String getImagePath(Context context, Uri uri, String selection)

{

String path = null;

// 通過(guò)Uri和selection來(lái)獲取真實(shí)的圖片路徑

Cursor cursor = context.getContentResolver().query(uri, null, selection, null, null);

if (cursor != null)

{

//syso(cursor.moveToFirst());

if (cursor.moveToFirst())

{

path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));

}

cursor.close();

}

return path;

}


//iyu

javanew(intent,"android.content.Intent","String","android.intent.action.GET_CONTENT")


java(setType,intent,"android.content.tent.setType","String","image/*")


java(null,activity,"android.app.Activity.startActivityForResult","android.content.Intent",intent,"int",2)


//回調(diào)結(jié)果事件

javags(resultCode,activity,"android.app.Activity","RESULT_OK")

f(st_sC==2)

{

f(st_lC==resultCode)

{

java(uri,st_iT,"android.content.Intent.getData")

call(path, "mjava", "uri.getRealPath", activity, uri)

}

}


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容