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


Java Uri.getScheme方法代碼示例

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


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

示例1: getRealFilePath

import android.net.Uri; //導入方法依賴的package包/類
public static String getRealFilePath(final Context context, final Uri uri) {
    if (null == uri) return null;
    final String scheme = uri.getScheme();
    String data = null;
    if (scheme == null)
        data = uri.getPath();
    else if (ContentResolver.SCHEME_FILE.equals(scheme)) {
        data = uri.getPath();
    } else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {
        final Cursor cursor = context.getContentResolver().query(uri, new String[]{MediaStore.Images.ImageColumns.DATA}, null, null, null);
        if (null != cursor) {
            if (cursor.moveToFirst()) {
                final int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
                if (index > -1) {
                    data = cursor.getString(index);
                }
            }
            cursor.close();
        }
    }
    return data;
}
 
開發者ID:QuincySx,項目名稱:AvenueNet,代碼行數:23,代碼來源:FileUtils.java

示例2: getRealFilePath

import android.net.Uri; //導入方法依賴的package包/類
/**
 * Try to return the absolute file path from the given Uri
 *
 * @param context
 * @param uri
 * @return the file path or null
 */
public static String getRealFilePath(final Context context, final Uri uri ) {
    if ( null == uri ) return null;
    final String scheme = uri.getScheme();
    String data = null;
    if ( scheme == null )
        data = uri.getPath();
    else if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) {
        data = uri.getPath();
    } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) {
        Cursor cursor = context.getContentResolver().query( uri, new String[] { MediaStore.Images.ImageColumns.DATA }, null, null, null );
        if ( null != cursor ) {
            if ( cursor.moveToFirst() ) {
                int index = cursor.getColumnIndex( MediaStore.Images.ImageColumns.DATA );
                if ( index > -1 ) {
                    data = cursor.getString( index );
                }
            }
            cursor.close();
        }
    }
    return data;
}
 
開發者ID:IronMan001,項目名稱:ss-android,代碼行數:30,代碼來源:MainActivity.java

示例3: 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

示例4: setSource

import android.net.Uri; //導入方法依賴的package包/類
@ReactProp(name = "src")
public void setSource(@Nullable ReadableArray sources) {
  final String source =
    (sources == null || sources.size() == 0) ? null : sources.getMap(0).getString("uri");
  Uri uri = null;
  if (source != null) {
    try {
      uri = Uri.parse(source);
      // Verify scheme is set, so that relative uri (used by static resources) are not handled.
      if (uri.getScheme() == null) {
        uri = null;
      }
    } catch (Exception e) {
      // ignore malformed uri, then attempt to extract resource ID.
    }
    if (uri == null) {
      uri = getResourceDrawableUri(getThemedContext(), source);
    }
  }
  if (uri != mUri) {
    markUpdated();
  }
  mUri = uri;
}
 
開發者ID:qq565999484,項目名稱:RNLearn_Project1,代碼行數:25,代碼來源:FrescoBasedReactTextInlineImageShadowNode.java

示例5: setDataSource

import android.net.Uri; //導入方法依賴的package包/類
public void setDataSource(Context context, Uri uri) throws IOException, IllegalArgumentException,
    SecurityException, IllegalStateException {
  if (context == null || uri == null)
    throw new IllegalArgumentException();
  String scheme = uri.getScheme();
  if (scheme == null || scheme.equals("file")) {
    setDataSource(FileUtils.getPath(uri.toString()));
    return;
  }

  try {
    ContentResolver resolver = context.getContentResolver();
    mFD = resolver.openAssetFileDescriptor(uri, "r");
    if (mFD == null)
      return;
    setDataSource(mFD.getParcelFileDescriptor().getFileDescriptor());
    return;
  } catch (Exception e) {
    closeFD();
  }
  Log.e("Couldn't open file on client side, trying server side %s", uri.toString());
  setDataSource(uri.toString());
  return;
}
 
開發者ID:coding-dream,項目名稱:TPlayer,代碼行數:25,代碼來源:MediaMetadataRetriever.java

示例6: a

import android.net.Uri; //導入方法依賴的package包/類
public static MLinkResult a(Uri uri, Uri uri2) {
    if (uri2 == null) {
        return new MLinkResult();
    }
    String scheme = uri2.getScheme();
    String host = uri2.getHost();
    int port = uri2.getPort();
    String encodedPath = uri2.getEncodedPath();
    String encodedQuery = uri2.getEncodedQuery();
    String scheme2 = uri.getScheme();
    String host2 = uri.getHost();
    int port2 = uri.getPort();
    String encodedPath2 = uri.getEncodedPath();
    String encodedQuery2 = uri.getEncodedQuery();
    if (n.a(scheme, scheme2) && n.a(host, host2) && port == port2) {
        return a(encodedPath, encodedPath2, a(encodedQuery2, encodedQuery));
    }
    return new MLinkResult();
}
 
開發者ID:JackChan1999,項目名稱:boohee_v5.6,代碼行數:20,代碼來源:d.java

示例7: getUriType

import android.net.Uri; //導入方法依賴的package包/類
public static int getUriType(Uri uri) {
    assertNonRelative(uri);
    String scheme = uri.getScheme();
    if (ContentResolver.SCHEME_CONTENT.equalsIgnoreCase(scheme)) {
        return URI_TYPE_CONTENT;
    }
    if (ContentResolver.SCHEME_ANDROID_RESOURCE.equalsIgnoreCase(scheme)) {
        return URI_TYPE_RESOURCE;
    }
    if (ContentResolver.SCHEME_FILE.equalsIgnoreCase(scheme)) {
        if (uri.getPath().startsWith("/android_asset/")) {
            return URI_TYPE_ASSET;
        }
        return URI_TYPE_FILE;
    }
    if ("data".equalsIgnoreCase(scheme)) {
        return URI_TYPE_DATA;
    }
    if ("http".equalsIgnoreCase(scheme)) {
        return URI_TYPE_HTTP;
    }
    if ("https".equalsIgnoreCase(scheme)) {
        return URI_TYPE_HTTPS;
    }
    if (PLUGIN_URI_SCHEME.equalsIgnoreCase(scheme)) {
        return URI_TYPE_PLUGIN;
    }
    return URI_TYPE_UNKNOWN;
}
 
開發者ID:Andy-Ta,項目名稱:COB,代碼行數:30,代碼來源:CordovaResourceApi.java

示例8: open

import android.net.Uri; //導入方法依賴的package包/類
@JSMethod(uiThread = true)
public void open(JSONObject options, JSCallback success, JSCallback failure) {
    if (options != null) {
        String url = options.getString(Constants.Value.URL);
        JSCallback callback = success;
        JSONObject result = new JSONObject();
        if (!TextUtils.isEmpty(url)) {
            Uri rawUri = Uri.parse(url);
            String scheme = rawUri.getScheme();
            if (TextUtils.isEmpty(scheme) || Constants.Scheme.HTTP.equalsIgnoreCase(scheme) || Constants.Scheme.HTTPS.equalsIgnoreCase(scheme)) {
                this.push(options.toJSONString(), success);
            } else {
                try {
                    Intent intent = new Intent(Intent.ACTION_VIEW, rawUri);
                    mWXSDKInstance.getContext().startActivity(intent);
                    result.put(CALLBACK_RESULT, MSG_SUCCESS);
                } catch (Throwable e) {
                    e.printStackTrace();
                    result.put(CALLBACK_RESULT, MSG_FAILED);
                    result.put(CALLBACK_MESSAGE, "Open page failed.");
                    callback = failure;
                }
            }
        } else {
            result.put(CALLBACK_RESULT, MSG_PARAM_ERR);
            result.put(CALLBACK_MESSAGE, "The URL parameter is empty.");
            callback = failure;
        }

        if(callback != null){
            callback.invoke(result);
        }
    }
}
 
開發者ID:weexext,項目名稱:ucar-weex-core,代碼行數:35,代碼來源:UWXNavigatorModule2.java

示例9: getFromUri

import android.net.Uri; //導入方法依賴的package包/類
public static Repo getFromUri(Context context, String uriString) {
    Uri uri = Uri.parse(uriString);

    if (uri != null && uri.getScheme() != null) { // Make sure uri is valid and has a scheme
        try {
            switch (uri.getScheme()) {
                case ContentRepo.SCHEME:
                    return new ContentRepo(context, uri);

                case DropboxRepo.SCHEME:
                    if (! BuildConfig.IS_DROPBOX_ENABLED) {
                        return null;
                    }

                    /* There should be no authority. */
                    if (uri.getAuthority() != null) {
                        return null;
                    }

                    return new DropboxRepo(context, uri);

                case DirectoryRepo.SCHEME:
                    return new DirectoryRepo(uriString, false);

                case MockRepo.SCHEME:
                    return new MockRepo(context, uriString);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    return null;
}
 
開發者ID:orgzly,項目名稱:orgzly-android,代碼行數:35,代碼來源:RepoFactory.java

示例10: setDataSource

import android.net.Uri; //導入方法依賴的package包/類
@Override
public void setDataSource(String path) throws IOException,
        IllegalArgumentException, SecurityException, IllegalStateException {
    mDataSource = path;

    Uri uri = Uri.parse(path);
    String scheme = uri.getScheme();
    if (!TextUtils.isEmpty(scheme) && scheme.equalsIgnoreCase("file")) {
        mInternalMediaPlayer.setDataSource(uri.getPath());
    } else {
        mInternalMediaPlayer.setDataSource(path);
    }
}
 
開發者ID:bigjelly,項目名稱:ShaddockVideoPlayer,代碼行數:14,代碼來源:AndroidMediaPlayer.java

示例11: getUrl

import android.net.Uri; //導入方法依賴的package包/類
private String getUrl(Uri uri) {
  String url = uri.toString();
  String scheme = uri.getScheme();
  if (uri.isHierarchical()) {
    if (TextUtils.equals(scheme, "http") || TextUtils.equals(scheme, "https")) {
      String weexTpl = uri.getQueryParameter(Constants.WEEX_TPL_KEY);
      if (!TextUtils.isEmpty(weexTpl)) {
        url = weexTpl;
      }
    }
  }
  return url;
}
 
開發者ID:wangwei123,項目名稱:my-weex,代碼行數:14,代碼來源:WXPageActivity.java

示例12: Request

import android.net.Uri; //導入方法依賴的package包/類
/**
 * @param uri the HTTP URI to download.
 */
public Request(Uri uri) {
    if (uri == null) {
        throw new NullPointerException();
    }
    String scheme = uri.getScheme();
    if (scheme == null || (!scheme.equals("http") && !scheme.equals("https"))) {
        throw new IllegalArgumentException("Can only download HTTP/HTTPS URIs: " + uri);
    }
    mUri = uri;
}
 
開發者ID:benniaobuguai,項目名稱:android-project-gallery,代碼行數:14,代碼來源:DownloadManager.java

示例13: setDataSource

import android.net.Uri; //導入方法依賴的package包/類
@Override
public void setDataSource(Context context, Uri uri) throws IllegalArgumentException,
        SecurityException {
    String scheme = uri.getScheme();
    if (SmbProxy.needToStream(scheme)){
        mSmbProxy = SmbProxy.setDataSource(uri, this, null);
        return;
    }
    super.setDataSource(context, uri);
}
 
開發者ID:archos-sa,項目名稱:aos-MediaLib,代碼行數:11,代碼來源:AndroidMediaMetadataRetriever.java

示例14: getRealFilePath

import android.net.Uri; //導入方法依賴的package包/類
public String getRealFilePath(final Uri uri) {
    if (null == uri) return null;
    final String scheme = uri.getScheme();
    String data = null;
    if (scheme == null) {
        Log.e("wuwang", "scheme is null");
        data = uri.getPath();
    } else if (ContentResolver.SCHEME_FILE.equals(scheme)) {
        data = uri.getPath();
        Log.e("wuwang", "SCHEME_FILE");
    } else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {
        data = GetPathFromUri4kitkat.getPath(getApplicationContext(), uri);
    }
    return data;
}
 
開發者ID:aiyaapp,項目名稱:AAVT,代碼行數:16,代碼來源:ExampleMp4ProcessActivity.java

示例15: splitPathFromUrlDisplayText

import android.net.Uri; //導入方法依賴的package包/類
/**
 * Given the URL display text, this will remove any path portion contained within.
 * @param displayText The text to strip the path from.
 * @return A pair where the first item is the text without any path content (if the path was
 *         successfully found), and the second item is the path content (or null if no path
 *         was found or parsing the path failed).
 * @see ToolbarDataProvider#getText()
 */
// TODO(tedchoc): Move this logic into the original display text calculation.
@VisibleForTesting
public static Pair<String, String> splitPathFromUrlDisplayText(String displayText) {
    int pathSearchOffset = 0;
    Uri uri = Uri.parse(displayText);
    String scheme = uri.getScheme();
    if (!TextUtils.isEmpty(scheme)) {
        if (UNSUPPORTED_SCHEMES_TO_SPLIT.contains(scheme)) {
            return Pair.create(displayText, null);
        } else if (ACCEPTED_SCHEMES.contains(scheme)) {
            for (pathSearchOffset = scheme.length();
                    pathSearchOffset < displayText.length();
                    pathSearchOffset++) {
                char c = displayText.charAt(pathSearchOffset);
                if (c != ':' && c != '/') break;
            }
        }
    }
    int pathOffset = -1;
    if (pathSearchOffset < displayText.length()) {
        pathOffset = displayText.indexOf('/', pathSearchOffset);
    }
    if (pathOffset != -1) {
        String prePathText = displayText.substring(0, pathOffset);
        // If the '/' is the last character and the beginning of the path, then just drop
        // the path entirely.
        String pathText = pathOffset == displayText.length() - 1
                ? null : displayText.substring(pathOffset);
        return Pair.create(prePathText, pathText);
    }
    return Pair.create(displayText, null);
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:41,代碼來源:LocationBarLayout.java


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