Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】
程序员文章站
2023-10-19 08:27:24
本文实例讲述了android开发实现的intentutil跳转多功能工具类。分享给大家供大家参考,具体如下:
说明:此工具类是本人开发中总结下来的,还有其它的跳转亲给我留...
本文实例讲述了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开发入门与进阶教程》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android操作json格式数据技巧总结》、《android资源操作技巧汇总》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。
下一篇: Python列表(List)知识点总结