1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
public class SystemProgramUtils { public static final int REQUEST_CODE_PAIZHAO = 1; public static final int REQUEST_CODE_ZHAOPIAN = 2; public static final int REQUEST_CODE_CAIQIE = 3;
public static void paizhao(Activity activity, File outputFile) { Intent intent = new Intent(); intent.setAction("android.media.action.IMAGE_CAPTURE"); intent.addCategory("android.intent.category.DEFAULT"); Uri uri = FileProviderUtils.uriFromFile(activity, outputFile); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); activity.startActivityForResult(intent, REQUEST_CODE_PAIZHAO); }
public static void zhaopian(Activity activity) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction("android.intent.action.PICK"); intent.addCategory("android.intent.category.DEFAULT"); activity.startActivityForResult(intent, REQUEST_CODE_ZHAOPIAN); }
public static void Caiqie(Activity activity, Uri uri, File outputFile, int width, int height) { Intent intent = new Intent("com.android.camera.action.CROP"); FileProviderUtils.setIntentDataAndType(activity, intent, "image/*", uri, true); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", width); intent.putExtra("outputY", height); Uri outputUri = Uri.fromFile(outputFile); intent.putExtra(MediaStore.EXTRA_OUTPUT, outputUri); intent.putExtra("return-data", false);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); intent.putExtra("noFaceDetection", true); activity.startActivityForResult(intent, REQUEST_CODE_CAIQIE); } }
public class FileProviderUtils {
public static Uri uriFromFile(Activity activity, File file) { Uri fileUri; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { String p = activity.getPackageName() + ".FileProvider"; fileUri = FileProvider.getUriForFile( activity, p, file); } else { fileUri = Uri.fromFile(file); } return fileUri; }
public static void setIntentDataAndType(Activity activity, Intent intent, String type, File file, boolean writeAble) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { intent.setDataAndType(uriFromFile(activity, file), type); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); if (writeAble) { intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); } } else { intent.setDataAndType(Uri.fromFile(file), type); } }
public static void setIntentDataAndType(Context context, Intent intent, String type, Uri fileUri, boolean writeAble) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { intent.setDataAndType(fileUri, type); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); if (writeAble) { intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); } } else { intent.setDataAndType(fileUri, type); } } }
|