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


Java ParcelFileDescriptor.close方法代碼示例

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


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

示例1: FileDescriptorFactory

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
public FileDescriptorFactory() {
  super(new FileOpener<ParcelFileDescriptor>() {
    @Override
    public ParcelFileDescriptor open(File file) throws FileNotFoundException {
      return ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
    }

    @Override
    public void close(ParcelFileDescriptor parcelFileDescriptor) throws IOException {
      parcelFileDescriptor.close();
    }

    @Override
    public Class<ParcelFileDescriptor> getDataClass() {
      return ParcelFileDescriptor.class;
    }
  });
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:19,代碼來源:FileLoader.java

示例2: writeToParcel

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
@Override
public void writeToParcel(Parcel out, int flags) {
    if (mRelroFd >= 0) {
        out.writeLong(mLoadAddress);
        out.writeLong(mLoadSize);
        out.writeLong(mRelroStart);
        out.writeLong(mRelroSize);
        try {
            ParcelFileDescriptor fd = ParcelFileDescriptor.fromFd(mRelroFd);
            fd.writeToParcel(out, 0);
            fd.close();
        } catch (java.io.IOException e) {
            Log.e(TAG, "Can't write LibInfo file descriptor to parcel", e);
        }
    }
}
 
開發者ID:lizhangqu,項目名稱:chromium-net-for-android,代碼行數:17,代碼來源:Linker.java

示例3: onAgentServiceOff

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
private void onAgentServiceOff(){
 Iterator<String> fileNames = writeFilesHM.keySet().iterator();
 String fileName = "";
 while (fileNames.hasNext()) {
      fileName = fileNames.next();
      ParcelFileDescriptor fd = writeFilesHM.get(fileName);
      try{
        fd.close();
      } catch(IOException ex) {
          Log.i(TAG, "exception " + ex.toString());
      }
 }
 if (mServiceBound) {
     unbindService(mConnection);
     mServiceBound = false;
 }
 writeFilesHM.clear();
 uploadFiles.clear();
 stopSelf();
}
 
開發者ID:quanzhuo,項目名稱:prada,代碼行數:21,代碼來源:UploadAgent.java

示例4: closeLoudly

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
private static void closeLoudly(ParcelFileDescriptor input) {
    if (input != null) {
        try {
            input.close();
        } catch (IOException e) {
            Log.e(SMimeApi.TAG, "IOException when closing ParcelFileDescriptor!", e);
        }
    }
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:10,代碼來源:SMimeApi.java

示例5: closeLoudly

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
private static void closeLoudly(ParcelFileDescriptor input) {
    if (input != null) {
        try {
            input.close();
        } catch (IOException e) {
            Log.e(OpenPgpApi.TAG, "IOException when closing ParcelFileDescriptor!", e);
        }
    }
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:10,代碼來源:OpenPgpApi.java

示例6: vpnStop

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
private void vpnStop(ParcelFileDescriptor pfd) {
    Log.i(TAG, "Stopping");
    try {
        pfd.close();
    } catch (IOException ex) {
        Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex));
    }
}
 
開發者ID:shivam141296,項目名稱:Android-Firewall,代碼行數:9,代碼來源:BlackHoleService.java

示例7: decode

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
@Override
public Resource<Bitmap> decode(ParcelFileDescriptor resource, int outWidth, int outHeight,
    Options options) throws IOException {
  long frameTimeMicros = options.get(TARGET_FRAME);
  if (frameTimeMicros < 0 && frameTimeMicros != DEFAULT_FRAME) {
    throw new IllegalArgumentException(
        "Requested frame must be non-negative, or DEFAULT_FRAME, given: " + frameTimeMicros);
  }
  Integer frameOption = options.get(FRAME_OPTION);

  final Bitmap result;
  MediaMetadataRetriever mediaMetadataRetriever = factory.build();
  try {
    mediaMetadataRetriever.setDataSource(resource.getFileDescriptor());
    if (frameTimeMicros == DEFAULT_FRAME) {
      result = mediaMetadataRetriever.getFrameAtTime();
    } else if (frameOption == null) {
      result = mediaMetadataRetriever.getFrameAtTime(frameTimeMicros);
    } else {
      result = mediaMetadataRetriever.getFrameAtTime(frameTimeMicros, frameOption);
    }
  } catch (RuntimeException e) {
    // MediaMetadataRetriever APIs throw generic runtime exceptions when given invalid data.
    throw new IOException(e);
  } finally {
    mediaMetadataRetriever.release();
  }
  resource.close();
  return BitmapResource.obtain(result, bitmapPool);
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:31,代碼來源:VideoBitmapDecoder.java

示例8: closeSilently

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
public static void closeSilently(ParcelFileDescriptor c) {
	if (c == null)
		return;
	try {
		c.close();
	} catch (Throwable t) {
		Log.w(TAG, "fail to close", t);
	}
}
 
開發者ID:coding-dream,項目名稱:TPlayer,代碼行數:10,代碼來源:IOUtils.java

示例9: saveUriToFile

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
public static String saveUriToFile(Uri uri) throws Exception {
    ParcelFileDescriptor parcelFileDescriptor = CoreApp.getInstance().getContentResolver().openFileDescriptor(uri, "r");
    FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();

    InputStream inputStream = new FileInputStream(fileDescriptor);
    BufferedInputStream bis = new BufferedInputStream(inputStream);

    File parentDir = StorageUtils.getAppExternalDataDirectoryFile();
    String fileName = String.valueOf(System.currentTimeMillis()) + ".jpg";
    File resultFile = new File(parentDir, fileName);

    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(resultFile));

    byte[] buf = new byte[2048];
    int length;

    try {
        while ((length = bis.read(buf)) > 0) {
            bos.write(buf, 0, length);
        }
    } catch (Exception e) {
        throw new IOException("Can\'t save Storage API bitmap to a file!", e);
    } finally {
        parcelFileDescriptor.close();
        bis.close();
        bos.close();
    }

    return resultFile.getAbsolutePath();
}
 
開發者ID:mobilemaster128,項目名稱:quickblox-android,代碼行數:31,代碼來源:ImageUtils.java

示例10: create

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
/**
 * Uploads an entire file, closing the descriptor when it is no longer needed.
 *
 * @param fd The file descriptor to upload
 * @throws IllegalArgumentException if {@code fd} is not a file.
 * @return A new UploadDataProvider for the given file descriptor
 */
public static UploadDataProvider create(final ParcelFileDescriptor fd) {
    return new FileUploadProvider(new FileChannelProvider() {
        @Override
        public FileChannel getChannel() throws IOException {
            if (fd.getStatSize() != -1) {
                return new ParcelFileDescriptor.AutoCloseInputStream(fd).getChannel();
            } else {
                fd.close();
                throw new IllegalArgumentException("Not a file: " + fd);
            }
        }
    });
}
 
開發者ID:lizhangqu,項目名稱:chromium-net-for-android,代碼行數:21,代碼來源:UploadDataProviders.java

示例11: writeUri

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
private void writeUri(Uri uri, String newContent, String encoding) throws IOException {
    ParcelFileDescriptor pfd = activity.getContentResolver().openFileDescriptor(uri, "w");
    FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
    fileOutputStream.write(newContent.getBytes(Charset.forName(encoding)));
    fileOutputStream.close();
    pfd.close();
}
 
開發者ID:ujjwalagrawal17,項目名稱:CodeCompilerApp,代碼行數:8,代碼來源:SaveFileTask.java

示例12: sendTunFD

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
private boolean sendTunFD(String needed, String extra) {
    if (!extra.equals("tun")) {
        // We only support tun
        VpnStatus.logError(String.format("Device type %s requested, but only tun is possible with the Android API, sorry!", extra));
        return false;
    }
    ParcelFileDescriptor pfd = mOpenVPNService.openTun();
    if (pfd == null) return false;
    Method setInt;
    int fdint = pfd.getFd();
    try {
        setInt = FileDescriptor.class.getDeclaredMethod("setInt$", int.class);
        FileDescriptor fdtosend = new FileDescriptor();
        setInt.invoke(fdtosend, fdint);
        FileDescriptor[] fds = {fdtosend};
        mSocket.setFileDescriptorsForSend(fds);
        // Trigger a send so we can close the fd on our side of the channel
        // The API documentation fails to mention that it will not reset the file descriptor to
        // be send and will happily send the file descriptor on every write ...
        String cmd = String.format("needok '%s' %s\n", needed, "ok");
        managmentCommand(cmd);
        // Set the FileDescriptor to null to stop this mad behavior
        mSocket.setFileDescriptorsForSend(null);
        pfd.close();
        return true;
    } catch (NoSuchMethodException | IllegalArgumentException | InvocationTargetException |
            IOException | IllegalAccessException exp) {
        VpnStatus.logException("Could not send fd over socket", exp);
    }
    return false;
}
 
開發者ID:akashdeepsingh9988,項目名稱:Cybernet-VPN,代碼行數:32,代碼來源:OpenVpnManagementThread.java

示例13: closeSilently

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
public static void closeSilently(ParcelFileDescriptor fd) {
    try {
        if (fd != null) fd.close();
    } catch (Throwable t) {
        Log.w(TAG, "fail to close", t);
    }
}
 
開發者ID:mayurkaul,項目名稱:medialibrary,代碼行數:8,代碼來源:Utils.java

示例14: mkdir

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
boolean mkdir(final Context context, final File file) throws IOException {
    try {
        if (file.exists()) {
            return file.isDirectory();
        }
        final File tmpFile = new File(file, ".MediaWriteTemp");
        final int albumId = getTemporaryAlbumId(context);
        if (albumId == 0) {
            throw new IOException("Failed to create temporary album id.");
        }
        final Uri albumUri = Uri.parse(String.format(Locale.US, ALBUM_ART_URI + "/%d", albumId));
        final ContentValues values = new ContentValues();
        values.put(MediaStore.MediaColumns.DATA, tmpFile.getAbsolutePath());
        final ContentResolver contentResolver = context.getContentResolver();
        if (contentResolver.update(albumUri, values, null, null) == 0) {
            values.put(MediaStore.Audio.AlbumColumns.ALBUM_ID, albumId);
            contentResolver.insert(Uri.parse(ALBUM_ART_URI), values);
        }
        try {
            final ParcelFileDescriptor fd = contentResolver.openFileDescriptor(albumUri, "r");
            if (fd != null)
                fd.close();
        } finally {
            delete(context, tmpFile);
        }
        return file.exists();
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
 
開發者ID:GlennioTech,項目名稱:MetadataEditor,代碼行數:32,代碼來源:MediaStoreHack.java

示例15: closeSilently

import android.os.ParcelFileDescriptor; //導入方法依賴的package包/類
public static void closeSilently( final ParcelFileDescriptor c ) {
	if ( c == null ) return;
	try {
		c.close();
	} catch ( final Throwable t ) {}
}
 
開發者ID:viseator,項目名稱:MontageCam,代碼行數:7,代碼來源:IOUtils.java


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