/** * @param permission * @param pid * @param uid * @return * @see android.content.ContextWrapper#checkPermission(java.lang.String, * int, int) */ public int checkPermission(String permission, int pid, int uid) { return mActivity.checkPermission(permission, pid, uid); }
protected Bitmap getThumbnailOfLastPhoto() { boolean canReadExternalStorage = getActivity().checkPermission( Manifest.permission.READ_EXTERNAL_STORAGE, Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_GRANTED; if (!canReadExternalStorage) { // MediaStore.Images.Media.EXTERNAL_CONTENT_URI requires // the READ_EXTERNAL_STORAGE permission return null; } Cursor cursor = MediaStore.Images.Media.query(getContext().getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATE_TAKEN}, null, null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC LIMIT 1"); Bitmap thumb = null; if (cursor != null) { if (cursor.moveToNext()) { int id = cursor.getInt(0); thumb = MediaStore.Images.Thumbnails.getThumbnail(getContext().getContentResolver(), id, MediaStore.Images.Thumbnails.MINI_KIND, null); } cursor.close(); } return thumb; }
/** * If the device has NFC, construct a BeamCallback and pass it to Android. * * @param activity Activity that is sending out beam messages. * @param provider Provider that returns the URL that should be shared. */ public static void registerForBeam(final Activity activity, final BeamProvider provider) { final NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(activity); if (nfcAdapter == null) return; if (activity.checkPermission(Manifest.permission.NFC, Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_DENIED) return; try { final BeamCallback beamCallback = new BeamCallback(activity, provider); nfcAdapter.setNdefPushMessageCallback(beamCallback, activity); nfcAdapter.setOnNdefPushCompleteCallback(beamCallback, activity); } catch (IllegalStateException e) { Log.w("BeamController", "NFC registration failure. Can't retry, giving up."); } } }