国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android開發實現的IntentUtil跳轉多功能工具類【包含視頻、音頻、圖片、攝像頭等操作功能】

2019-10-22 18:24:07
字體:
來源:轉載
供稿:網友

本文實例講述了Android開發實現的IntentUtil跳轉多功能工具類。分享給大家供大家參考,具體如下:

說明:此工具類是本人開發中總結下來的,還有其它的跳轉親給我留言,希望大家一起把這個工具類打造成最全的跳轉工具,謝謝!

package com.android.chat.utils;import java.io.File;import java.io.Serializable;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.os.Environment;import android.provider.MediaStore;import android.support.v4.app.FragmentActivity;import android.view.View;/** * @描述 intent常用工具類 * @項目名稱 AppClient * @包名 com.andorid.main.basic.aboutActivity * @類名 IntentUtils * @author chenlin * @date 2012年6月25日 上午8:08:55 * @version 1.0 */public class IntentUtils {  public static final int REQUEST_CODE_GALLERY = 0x11;  public static final int REQUEST_CODE_CAMERA = 0x12;  public final static int REQUEST_CODE_CROP = 0x13;  /**   * 打電話   *   * @param context   * @param phoneNum   */  public static void call(Context context, int phoneNum) {    Intent intent = new Intent();    // 啟動電話程序    intent.setAction(Intent.ACTION_CALL);    intent.setData(Uri.parse("tel://" + phoneNum));    context.startActivity(intent);  }  /**   * 打開瀏覽器   *   * @param context   * @param url   */  public static void openBrowser(Context context, String url) {    Intent intent = new Intent();    intent.setAction(Intent.ACTION_VIEW);    intent.setData(Uri.parse(url));    context.startActivity(intent);  }  /**   * 打開圖片   *   * @param context   * @param url   */  public static void openImage(Context context, String path) {    Intent intent = new Intent();    intent.setAction(Intent.ACTION_VIEW);    // intent.setDataAndType(Uri.parse("file:///mnt/sdcard/file/1.jgp"),    // "image/*");    intent.setDataAndType(Uri.parse("file:///" + path), "image/*");    context.startActivity(intent);  }  /**   * 打開音頻   *   * @param context   * @param url   */  public static void openAudio(Context context, String path) {    Intent intent = new Intent();    intent.setAction(Intent.ACTION_VIEW);    intent.setDataAndType(Uri.parse("file:///" + path), "audio/*");    context.startActivity(intent);  }  /**   * 打開視頻文件   *   * @param context   * @param url   */  public static void openVideo(Context context, String path) {    Intent intent = new Intent();    intent.setAction(Intent.ACTION_VIEW);    intent.setDataAndType(Uri.parse("file:///" + path), "video/*");    context.startActivity(intent);  }  /**   * 打開系統攝像頭錄像,并保存為圖片   *   * @param context   * @param path   */  public static void openCamera(Context context, String path) {    Intent intent = new Intent();    intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);    intent.putExtra(MediaStore.EXTRA_OUTPUT,        Uri.parse(Environment.getExternalStorageDirectory() + "/Videos/" + System.currentTimeMillis() + ".jpg"));    context.startActivity(intent);  }  /**   * 打開系統攝像頭錄像,并保存為視頻   *   * @param context   * @param path   */  public static void openCamera(Context context) {    Intent intent = new Intent();    intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);    intent.putExtra(MediaStore.EXTRA_OUTPUT,        Uri.parse(Environment.getExternalStorageDirectory() + "/Videos/" + System.currentTimeMillis() + ".mp4"));    context.startActivity(intent);  }  /**   * 分享   */  public static void shareApplication(Context context, String packname, String url) {    // <action android:name="android.intent.action.SEND" />    // <category android:name="android.intent.category.DEFAULT" />    // <data android:mimeType="text/plain" />    Intent intent = new Intent();    intent.setAction("android.intent.action.SEND");    intent.addCategory("android.intent.category.DEFAULT");    intent.setType("text/plain");    /*     * intent.putExtra(Intent.EXTRA_TEXT,     * "推薦您使用一款軟件,下載地址為:https://play.google.com/store/apps/details?id=" +     * packname);     */    intent.putExtra(Intent.EXTRA_TEXT, "推薦您使用一款軟件,下載地址為:" + url + " ?id=" + packname);    context.startActivity(intent);  }  /**   * 發送對像   *   * @param view   */  public static <T extends Serializable> void sendData(Context context, T t) {    Intent intent = new Intent(context, t.getClass());    intent.putExtra(t.getClass().getSimpleName(), t);// 要傳遞對像,對像必須是經過序列化的    context.startActivity(intent);  }  /**   * 獲取對像   *   * @param view   */  public static <T extends Serializable> T getData(Activity context, View view) {    return (T) context.getIntent().getSerializableExtra("account");  }  /**   * 安裝文件s   *   * @param context   * @param apkFile   */  public static void installApp(Context context, File apkFile) {    Intent intent = new Intent();    intent.setAction("android.intent.action.VIEW");    intent.addCategory("android.intent.category.DEFAULT");    intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");    context.startActivity(intent);  }  /**   * 卸載   *   * @param context   * @param apkFile   */  public static void unInstallApp(Context context, File apkFile) {    Uri packageURI = Uri.parse("package:com.andorid.main");    Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);    context.startActivity(uninstallIntent);  }  /**   * 獲得裁剪的圖片從圖片集合里   * @param context   * @param sdcardTempFile   * @param crop   */  public static void getimageFromGallery(Activity context, File sdcardTempFile, int crop) {    Intent intent = new Intent("android.intent.action.PICK");    intent.setDataAndType(MediaStore.Images.Media.INTERNAL_CONTENT_URI, "image/*");    intent.putExtra("output", Uri.fromFile(sdcardTempFile));    intent.putExtra("crop", "true");    intent.putExtra("aspectX", 1);// 裁剪框 intent.putExtra("aspectY", 1);    intent.putExtra("outputX", crop);// 輸出圖片大小    intent.putExtra("outputY", crop);    context.startActivityForResult(intent, REQUEST_CODE_GALLERY);  }  /**   * 獲得裁剪的圖片從Camera里   * @param context   * @param sdcardTempFile   * @param crop   */  public static void getimageFromCamera(Activity context, File sdcardTempFile, int crop) {    Uri uri = Uri.fromFile(sdcardTempFile);    Intent intent = new Intent("com.android.camera.action.CROP");    intent.setDataAndType(uri, "image/*");    intent.putExtra("output", uri);    intent.putExtra("crop", "true");    intent.putExtra("aspectX", 1);// 裁剪框比?? intent.putExtra("aspectY",                    // 1);    intent.putExtra("outputX", crop);// 輸出圖片大小    intent.putExtra("outputY", crop);    context.startActivityForResult(intent, REQUEST_CODE_CROP);  }  /**   * 獲得裁剪的圖片從攝像頭   * @param context   * @param sdcardTempFile   * @param crop   */  public static void getImageFromCamera(Activity context, File sdcardTempFile) {    Uri uri = Uri.fromFile(sdcardTempFile);    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");    intent.putExtra("output", uri);    context.startActivityForResult(intent, REQUEST_CODE_CAMERA);  }}

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨竹工卡县| 泗阳县| 扎兰屯市| 清新县| 冕宁县| 南丰县| 惠来县| 高邑县| 兴化市| 鄂托克旗| 兖州市| 清涧县| 斗六市| 靖边县| 三门峡市| 米林县| 太仓市| 汾西县| 通城县| 运城市| 九寨沟县| 襄垣县| 织金县| 凯里市| SHOW| 绥滨县| 湖北省| 淮滨县| 武穴市| 衡山县| 泗洪县| 玛多县| 永州市| 桦甸市| 阿克陶县| 屏南县| 津南区| 上杭县| 全州县| 梓潼县| 花垣县|