当前位置: 首页>>代码示例>>Java>>正文


Java ParcelFileDescriptor.MODE_WRITE_ONLY属性代码示例

本文整理汇总了Java中android.os.ParcelFileDescriptor.MODE_WRITE_ONLY属性的典型用法代码示例。如果您正苦于以下问题:Java ParcelFileDescriptor.MODE_WRITE_ONLY属性的具体用法?Java ParcelFileDescriptor.MODE_WRITE_ONLY怎么用?Java ParcelFileDescriptor.MODE_WRITE_ONLY使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在android.os.ParcelFileDescriptor的用法示例。


在下文中一共展示了ParcelFileDescriptor.MODE_WRITE_ONLY属性的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: openFile

@Override
public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
  Log.w(TAG, "openFile(" + uri + ", " + mode + ")");

  switch (uriMatcher.match(uri)) {
  case SINGLE_ROW:
    Log.w(TAG, "Fetching message body for a single row...");
    File tmpFile = getFile(uri);

    final int fileMode;
    switch (mode) {
    case "w": fileMode = ParcelFileDescriptor.MODE_TRUNCATE |
                         ParcelFileDescriptor.MODE_CREATE   |
                         ParcelFileDescriptor.MODE_WRITE_ONLY; break;
    case "r": fileMode = ParcelFileDescriptor.MODE_READ_ONLY;  break;
    default:  throw new IllegalArgumentException("requested file mode unsupported");
    }

    Log.w(TAG, "returning file " + tmpFile.getAbsolutePath());
    return ParcelFileDescriptor.open(tmpFile, fileMode);
  }

  throw new FileNotFoundException("Request for bad message.");
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:24,代码来源:MmsBodyProvider.java

示例2: parseMode

public static int parseMode(String mode) {
    final int modeBits;
    if ("r".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_ONLY;
    } else if ("w".equals(mode) || "wt".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_TRUNCATE;
    } else if ("wa".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_APPEND;
    } else if ("rw".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_WRITE
                | ParcelFileDescriptor.MODE_CREATE;
    } else if ("rwt".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_WRITE
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_TRUNCATE;
    } else {
        throw new IllegalArgumentException("Bad mode '" + mode + "'");
    }
    return modeBits;
}
 
开发者ID:kranthi0987,项目名称:easyfilemanager,代码行数:24,代码来源:ParcelFileDescriptorUtil.java

示例3: modeToMode

/**
 * Copied from ContentResolver.java
 */
private static int modeToMode(String mode) {
    int modeBits;
    if ("r".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_ONLY;
    } else if ("w".equals(mode) || "wt".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_TRUNCATE;
    } else if ("wa".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_APPEND;
    } else if ("rw".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_WRITE
                | ParcelFileDescriptor.MODE_CREATE;
    } else if ("rwt".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_WRITE
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_TRUNCATE;
    } else {
        throw new IllegalArgumentException("Invalid mode: " + mode);
    }
    return modeBits;
}
 
开发者ID:yasirkula,项目名称:UnityNativeShare,代码行数:27,代码来源:UnitySSContentProvider.java

示例4: modeToMode

static public int modeToMode(Uri uri, String mode) throws FileNotFoundException {
    int modeBits;
    if ("r".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_ONLY;
    } else if ("w".equals(mode) || "wt".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_TRUNCATE;
    } else if ("wa".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_APPEND;
    } else if ("rw".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_WRITE
                | ParcelFileDescriptor.MODE_CREATE;
    } else if ("rwt".equals(mode)) {
        modeBits = ParcelFileDescriptor.MODE_READ_WRITE
                | ParcelFileDescriptor.MODE_CREATE
                | ParcelFileDescriptor.MODE_TRUNCATE;
    } else {
        throw new FileNotFoundException("Bad mode for " + uri + ": "
                + mode);
    }
    return modeBits;
}
 
开发者ID:archos-sa,项目名称:aos-MediaLib,代码行数:25,代码来源:ScraperProvider.java

示例5: openFile

/**
 * Remotely opens a file
 */
@Override
public ParcelFileDescriptor openFile(final Uri uri, String mode) throws FileNotFoundException {
    if (Constants.LOGVV) {
        logVerboseOpenFileInfo(uri, mode);
    }

    final Cursor cursor = queryCleared(uri, new String[]{
                    Downloads.Impl._DATA, Downloads.Impl.COLUMN_STATUS,
                    Downloads.Impl.COLUMN_DESTINATION, Downloads.Impl.COLUMN_MEDIA_SCANNED}, null,
            null, null);
    final String path;
    final boolean shouldScan;
    try {
        int count = (cursor != null) ? cursor.getCount() : 0;
        if (count != 1) {
            // If there is not exactly one result, throw an appropriate exception.
            if (count == 0) {
                throw new FileNotFoundException("No entry for " + uri);
            }
            throw new FileNotFoundException("Multiple items at " + uri);
        }

        if (cursor.moveToFirst()) {
            final int status = cursor.getInt(1);
            final int destination = cursor.getInt(2);
            final int mediaScanned = cursor.getInt(3);

            path = cursor.getString(0);
            shouldScan = Downloads.Impl.isStatusSuccess(status) && (
                    destination == Downloads.Impl.DESTINATION_EXTERNAL
                            || destination == Downloads.Impl.DESTINATION_FILE_URI
                            || destination == Downloads.Impl.DESTINATION_NON_DOWNLOADMANAGER_DOWNLOAD)
                    && mediaScanned != 2;
        } else {
            throw new FileNotFoundException("Failed moveToFirst");
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }

    if (path == null) {
        throw new FileNotFoundException("No filename found.");
    }

    final File file = new File(path);

    int fileMode = 0;
    if (mode.contains("w")) {
        fileMode |= ParcelFileDescriptor.MODE_WRITE_ONLY;
    }
    if (mode.contains("r")) {
        fileMode |= ParcelFileDescriptor.MODE_READ_ONLY;
    }
    if (mode.contains("+")) {
        fileMode |= ParcelFileDescriptor.MODE_APPEND;
    }
    return ParcelFileDescriptor.open(file, fileMode);
}
 
开发者ID:redleaf2002,项目名称:downloadmanager,代码行数:61,代码来源:DownloadProvider.java

示例6: openFile

/**
 * Remotely opens a file
 */
@Override
public ParcelFileDescriptor openFile(final Uri uri, String mode) throws FileNotFoundException {
    if (Constants.LOGVV) {
        logVerboseOpenFileInfo(uri, mode);
    }

    final Cursor cursor = queryCleared(uri, new String[] {
                    Downloads.Impl._DATA, Downloads.Impl.COLUMN_STATUS,
                    Downloads.Impl.COLUMN_DESTINATION, Downloads.Impl.COLUMN_MEDIA_SCANNED }, null,
            null, null);
    final String path;
    final boolean shouldScan;
    try {
        int count = (cursor != null) ? cursor.getCount() : 0;
        if (count != 1) {
            // If there is not exactly one result, throw an appropriate exception.
            if (count == 0) {
                throw new FileNotFoundException("No entry for " + uri);
            }
            throw new FileNotFoundException("Multiple items at " + uri);
        }

        if (cursor.moveToFirst()) {
            final int status = cursor.getInt(1);
            final int destination = cursor.getInt(2);
            final int mediaScanned = cursor.getInt(3);

            path = cursor.getString(0);
            shouldScan = Downloads.Impl.isStatusSuccess(status) && (
                    destination == Downloads.Impl.DESTINATION_EXTERNAL
                            || destination == Downloads.Impl.DESTINATION_FILE_URI
                            || destination == Downloads.Impl.DESTINATION_NON_DOWNLOADMANAGER_DOWNLOAD)
                    && mediaScanned != 2;
        } else {
            throw new FileNotFoundException("Failed moveToFirst");
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }

    if (path == null) {
        throw new FileNotFoundException("No filename found.");
    }

    final File file = new File(path);

    int fileMode = 0;
    if (mode.contains("w")) {
        fileMode |= ParcelFileDescriptor.MODE_WRITE_ONLY;
    }
    if (mode.contains("r")) {
        fileMode |= ParcelFileDescriptor.MODE_READ_ONLY;
    }
    if (mode.contains("+")) {
        fileMode |= ParcelFileDescriptor.MODE_APPEND;
    }
    return ParcelFileDescriptor.open(file, fileMode);
}
 
开发者ID:limpoxe,项目名称:Android-DownloadManager,代码行数:61,代码来源:DownloadProvider.java


注:本文中的android.os.ParcelFileDescriptor.MODE_WRITE_ONLY属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。