本文实例讲述了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,"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,int crop) { Uri uri = Uri.fromfile(sdcardTempfile); Intent intent = new Intent("com.androID.camera.action.CROP"); intent.setDataAndType(uri,uri); intent.putExtra("crop",1);// 裁剪框比�? intent.putExtra("aspectY",// 1); intent.putExtra("outputX",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程序设计有所帮助。
总结以上是内存溢出为你收集整理的Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等 *** 作功能】全部内容,希望文章能够帮你解决Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等 *** 作功能】所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)