當前位置: 首頁>>代碼示例>>Java>>正文


Java Uri.getPath方法代碼示例

本文整理匯總了Java中android.net.Uri.getPath方法的典型用法代碼示例。如果您正苦於以下問題:Java Uri.getPath方法的具體用法?Java Uri.getPath怎麽用?Java Uri.getPath使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.net.Uri的用法示例。


在下文中一共展示了Uri.getPath方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: mapUriToFile

import android.net.Uri; //導入方法依賴的package包/類
/**
 * Returns a File that points to the resource, or null if the resource
 * is not on the local filesystem.
 */
public File mapUriToFile(Uri uri) {
    assertBackgroundThread();
    switch (getUriType(uri)) {
        case URI_TYPE_FILE:
            return new File(uri.getPath());
        case URI_TYPE_CONTENT: {
            Cursor cursor = contentResolver.query(uri, LOCAL_FILE_PROJECTION, null, null, null);
            if (cursor != null) {
                try {
                    int columnIndex = cursor.getColumnIndex(LOCAL_FILE_PROJECTION[0]);
                    if (columnIndex != -1 && cursor.getCount() > 0) {
                        cursor.moveToFirst();
                        String realPath = cursor.getString(columnIndex);
                        if (realPath != null) {
                            return new File(realPath);
                        }
                    }
                } finally {
                    cursor.close();
                }
            }
        }
    }
    return null;
}
 
開發者ID:aabognah,項目名稱:LoRaWAN-Smart-Parking,代碼行數:30,代碼來源:CordovaResourceApi.java

示例2: handleImage

import android.net.Uri; //導入方法依賴的package包/類
private void handleImage(Uri uri){
    String imagePath = null;
    if(DocumentsContract.isDocumentUri(getActivity(), uri)){
        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(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(contentUri, null);
        }
    }
    else if("content".equalsIgnoreCase(uri.getScheme())){
        imagePath = getImagePath(uri, null);
    }
    else if("file".equalsIgnoreCase(uri.getScheme())){
        imagePath = uri.getPath();
    }
    filePath = imagePath;
    Log.i(TAG, "handleImage: Album filepath"+filePath);
    getQiniuUpToken();
}
 
開發者ID:shawnsky,項目名稱:RantApp,代碼行數:26,代碼來源:SelectPhotoFragment.java

示例3: handleImageOnKitKat

import android.net.Uri; //導入方法依賴的package包/類
@TargetApi(19)
private void handleImageOnKitKat(Intent data){
    String imagePath = null;
    Uri uri = data.getData();
    if(DocumentsContract.isDocumentUri(this,uri)){
        String docId = DocumentsContract.getDocumentId(uri);
        if("com.android.provider.media,documents".equals(uri.getAuthority())){
            String id = docId.split(":")[1];
            String selection = MediaStore.Images.Media._ID + "=" + id;
            imagePath = getImagePath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,selection);
        }else if("com.android.provider.downloads.documents".equals(uri.getAuthority())){
            Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"),Long.valueOf(docId));
                    imagePath = getImagePath(contentUri,null);
        }
    }else if("content".equalsIgnoreCase(uri.getScheme())){
        imagePath = getImagePath(uri,null);
    }else if("file".equalsIgnoreCase(uri.getScheme())){
        imagePath = uri.getPath();
    }
    displayImage(imagePath);//根據圖片路徑顯示圖片
}
 
開發者ID:wangyufei1006,項目名稱:CameraAlbumTest,代碼行數:22,代碼來源:MainActivity.java

示例4: getRotationFromCamera

import android.net.Uri; //導入方法依賴的package包/類
private static int getRotationFromCamera(Context context, Uri imageFile) {
    int rotate = 0;
    try {

        context.getContentResolver().notifyChange(imageFile, null);
        ExifInterface exif = new ExifInterface(imageFile.getPath());
        int orientation = exif.getAttributeInt(
                ExifInterface.TAG_ORIENTATION,
                ExifInterface.ORIENTATION_NORMAL);

        switch (orientation) {
            case ExifInterface.ORIENTATION_ROTATE_270:
                rotate = 270;
                break;
            case ExifInterface.ORIENTATION_ROTATE_180:
                rotate = 180;
                break;
            case ExifInterface.ORIENTATION_ROTATE_90:
                rotate = 90;
                break;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rotate;
}
 
開發者ID:AppHero2,項目名稱:Raffler-Android,代碼行數:27,代碼來源:ImagePicker.java

示例5: setVideoURI

import android.net.Uri; //導入方法依賴的package包/類
public void setVideoURI(Uri uri, Map<String, String> extraMap) {
    reset();
    mUri = uri;
    mExtraMap = extraMap;
    String scheme = mUri.getScheme();
    mIsLocalVideo = false;
    if (scheme == null || scheme.equals("file")) {
        mIsLocalVideo = true;
    } else {
        if (scheme.equals("content")) {
            try {
                if (Integer.parseInt(mUri.getLastPathSegment()) <= ArchosMediaCommon.SCANNED_ID_OFFSET)
                    mIsLocalVideo = true;
            } catch (NumberFormatException e) {}
        }
    }

    if (uri.getPath() != null) {
        // FIXME: "smb://hello/world" .getPath() will return something like "hello/world".
        // fixing this the quick way will break all sort of things
        mVideoMetadata.setFile(uri.getPath());
    }
    if (DBG) Log.d(TAG, "setVideoURI: " + uri);
    openVideo();
}
 
開發者ID:archos-sa,項目名稱:aos-Video,代碼行數:26,代碼來源:Player.java

示例6: onNewIntent

import android.net.Uri; //導入方法依賴的package包/類
@Override
protected void onNewIntent(Intent intent) {
    getViews();
    setViews();
    setListeners();
    Uri data = intent.getData();
    if(data!=null) {
        mPdfPath = data.getPath();
        displayPdf(data);
    }else {
        if(intent.hasExtra("path")) {
            mPdfPath = intent.getStringExtra("path");
            pageNumber = intent.getIntExtra("pageNum",0);
            Uri uri = Uri.parse("file://" + mPdfPath);
            displayPdf(uri);
        }
    }

    super.onNewIntent(intent);
}
 
開發者ID:SavorGit,項目名稱:Hotspot-master-devp,代碼行數:21,代碼來源:PdfPreviewActivity.java

示例7: getFileWithUri

import android.net.Uri; //導入方法依賴的package包/類
/**
 * 通過URI獲取文件
 * @param uri
 * @param activity
 * @return
 * Author JPH
 * Date 2016/10/25
 */
public static File getFileWithUri(Uri uri, Activity activity) {
    String picturePath = null;
    String scheme=uri.getScheme();
    if (ContentResolver.SCHEME_CONTENT.equals(scheme)){
        String[] filePathColumn = {MediaStore.Images.Media.DATA};
        Cursor cursor = activity.getContentResolver().query(uri,
                filePathColumn, null, null, null);//從係統表中查詢指定Uri對應的照片
        cursor.moveToFirst();
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        if(columnIndex>=0){
            picturePath = cursor.getString(columnIndex);  //獲取照片路徑
        }else if(TextUtils.equals(uri.getAuthority(),TConstant.getFileProviderName(activity))){
            picturePath=parseOwnUri(activity,uri);
        }
        cursor.close();
    }else if (ContentResolver.SCHEME_FILE.equals(scheme)){
        picturePath=uri.getPath();
    }
    return TextUtils.isEmpty(picturePath)? null:new File(picturePath);
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:29,代碼來源:TUriParse.java

示例8: playFile

import android.net.Uri; //導入方法依賴的package包/類
/**
 * @param context The {@link Context} to use
 * @param uri     The source of the file
 */
public static void playFile(final Context context, final Uri uri) {
    if (uri == null || mService == null) {
        return;
    }

    // If this is a file:// URI, just use the path directly instead
    // of going through the open-from-filedescriptor codepath.
    String filename;
    String scheme = uri.getScheme();
    if ("file".equals(scheme)) {
        filename = uri.getPath();
    } else {
        filename = uri.toString();
    }

    try {
        mService.stop();
        mService.openFile(filename);
        mService.play();
    } catch (final RemoteException ignored) {
    }
}
 
開發者ID:komamj,項目名稱:KomaMusic,代碼行數:27,代碼來源:MusicUtils.java

示例9: sendPicByUri

import android.net.Uri; //導入方法依賴的package包/類
public static void sendPicByUri(Context context, Handler handler,
		Uri selectedImage, ZhiChiInitModeBase initModel,final ListView lv_message,
								final SobotMsgAdapter messageAdapter) {
	if(initModel == null){
		return;
	}
	String picturePath = ImageUtils.getPath(context, selectedImage);
	LogUtils.i("picturePath:" + picturePath);
	if (!TextUtils.isEmpty(picturePath)) {
		sendPicLimitBySize(picturePath, initModel.getCid(),
				initModel.getUid(), handler, context, lv_message,messageAdapter);
	} else {
		File file = new File(selectedImage.getPath());
		if (!file.exists()) {
			ToastUtil.showToast(context,"找不到圖片");
			return;
		}
		sendPicLimitBySize(file.getAbsolutePath(),
				initModel.getCid(), initModel.getUid(), handler, context, lv_message,messageAdapter);
	}
}
 
開發者ID:fengdongfei,項目名稱:CXJPadProject,代碼行數:22,代碼來源:ChatUtils.java

示例10: defaultFile

import android.net.Uri; //導入方法依賴的package包/類
private void defaultFile(String text)
{
    File documents = new
    File(Environment.getExternalStorageDirectory(), DOCUMENTS);
    file = new File(documents, EDIT_FILE);

    Uri uri = Uri.fromFile(file);
    path = uri.getPath();

    if (file.exists())
    {
        readFile(uri);
        toAppend = text;
    }

    else
    {
        if (text != null)
            textView.append(text);

        String title = uri.getLastPathSegment();
        setTitle(title);
    }
}
 
開發者ID:billthefarmer,項目名稱:editor,代碼行數:25,代碼來源:Editor.java

示例11: ensureBookIsInCollection

import android.net.Uri; //導入方法依賴的package包/類
public String ensureBookIsInCollection(Context context, Uri bookUri) {
    if (bookUri.getPath().indexOf(mLocalBooksDirectory.getAbsolutePath()) >= 0)
        return bookUri.getPath();
    BloomFileReader fileReader = new BloomFileReader(context, bookUri);
    String name = fileReader.bookNameIfValid();
    if(name == null)
        return null;

    Log.d("BloomReader", "Moving book into Bloom directory");
    String destination = mLocalBooksDirectory.getAbsolutePath() + File.separator + name;
    boolean copied = IOUtilities.copyFile(context, bookUri, destination);
    if(copied){
        // We assume that they will be happy with us removing from where ever the file was,
        // so long as it is on the same device (e.g. not coming from an sd card they plan to pass
        // around the room).
        if(!IOUtilities.seemToBeDifferentVolumes(bookUri.getPath(),destination)) {
            (new File(bookUri.getPath())).delete();
        }
        // we wouldn't have it in our list that we display yet, so make an entry there
        addBook(destination, true);
        return destination;
    } else{
        return null;
    }
}
 
開發者ID:BloomBooks,項目名稱:BloomReader,代碼行數:26,代碼來源:BookCollection.java

示例12: getRealFilePath

import android.net.Uri; //導入方法依賴的package包/類
public String getRealFilePath(Uri uri)
  {
String path = uri.getPath();
String[] pathArray = path.split(":");
String fileName = pathArray[pathArray.length - 1];
return Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + fileName;
  }
 
開發者ID:stytooldex,項目名稱:stynico,代碼行數:8,代碼來源:Viewhtml.java

示例13: getRealPathFromURI

import android.net.Uri; //導入方法依賴的package包/類
static String getRealPathFromURI(Context context, Uri contentUri) {
    Cursor cursor = context.getContentResolver().query(contentUri, null, null, null, null);
    if (cursor == null) {
        return contentUri.getPath();
    } else {
        cursor.moveToFirst();
        int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
        String realPath = cursor.getString(index);
        cursor.close();
        return realPath;
    }
}
 
開發者ID:liu-xiao-dong,項目名稱:JD-Test,代碼行數:13,代碼來源:FileUtil.java

示例14: toLocalUri

import android.net.Uri; //導入方法依賴的package包/類
@Override
public LocalFilesystemURL toLocalUri(Uri inputURL) {
    if (!"file".equals(inputURL.getScheme())) {
        return null;
    }
    File f = new File(inputURL.getPath());
    // Removes and duplicate /s (e.g. file:///a//b/c)
    Uri resolvedUri = Uri.fromFile(f);
    String rootUriNoTrailingSlash = rootUri.getEncodedPath();
    rootUriNoTrailingSlash = rootUriNoTrailingSlash.substring(0, rootUriNoTrailingSlash.length() - 1);
    if (!resolvedUri.getEncodedPath().startsWith(rootUriNoTrailingSlash)) {
        return null;
    }
    String subPath = resolvedUri.getEncodedPath().substring(rootUriNoTrailingSlash.length());
    // Strip leading slash
    if (!subPath.isEmpty()) {
        subPath = subPath.substring(1);
    }
    Uri.Builder b = new Uri.Builder()
        .scheme(LocalFilesystemURL.FILESYSTEM_PROTOCOL)
        .authority("localhost")
        .path(name);
    if (!subPath.isEmpty()) {
        b.appendEncodedPath(subPath);
    }
    if (f.isDirectory()) {
        // Add trailing / for directories.
        b.appendEncodedPath("");
    }
    return LocalFilesystemURL.parse(b.build());
}
 
開發者ID:rodrigonsh,項目名稱:alerta-fraude,代碼行數:32,代碼來源:LocalFilesystem.java

示例15: getSafeUri

import android.net.Uri; //導入方法依賴的package包/類
/**
 * Copies the APK into private data directory of F-Droid and returns a "file" or "content" Uri
 * to be used for installation.
 */
public static Uri getSafeUri(Context context, Uri localApkUri, Apk expectedApk, boolean useContentUri)
        throws IOException {
    File apkFile = new File(localApkUri.getPath());
    SanitizedFile tempApkFile = ApkCache.copyApkFromCacheToFiles(context, apkFile, expectedApk);
    return getSafeUri(context, tempApkFile, useContentUri);

}
 
開發者ID:uhuru-mobile,項目名稱:mobile-store,代碼行數:12,代碼來源:ApkFileProvider.java


注:本文中的android.net.Uri.getPath方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。