Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】
本文实例讲述了Android开发实现的IntentUtil跳转多功能工具类。分享给大家供大家参考,具体如下:
说明:此工具类是本人开发中总结下来的,还有其它的跳转亲给我留言,希望大家一起把这个工具类打造成最全的跳转工具,谢谢!
packagecom.android.chat.utils;
importjava.io.File;
importjava.io.Serializable;
importandroid.app.Activity;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.net.Uri;
importandroid.os.Environment;
importandroid.provider.MediaStore;
importandroid.support.v4.app.FragmentActivity;
importandroid.view.View;
/**
*@描述intent常用工具类
*@项目名称AppClient
*@包名com.andorid.main.basic.aboutActivity
*@类名IntentUtils
*@authorchenlin
*@date2012年6月25日上午8:08:55
*@version1.0
*/
publicclassIntentUtils{
publicstaticfinalintREQUEST_CODE_GALLERY=0x11;
publicstaticfinalintREQUEST_CODE_CAMERA=0x12;
publicfinalstaticintREQUEST_CODE_CROP=0x13;
/**
*打电话
*
*@paramcontext
*@paramphoneNum
*/
publicstaticvoidcall(Contextcontext,intphoneNum){
Intentintent=newIntent();
//启动电话程序
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel://"+phoneNum));
context.startActivity(intent);
}
/**
*打开浏览器
*
*@paramcontext
*@paramurl
*/
publicstaticvoidopenBrowser(Contextcontext,Stringurl){
Intentintent=newIntent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
context.startActivity(intent);
}
/**
*打开图片
*
*@paramcontext
*@paramurl
*/
publicstaticvoidopenImage(Contextcontext,Stringpath){
Intentintent=newIntent();
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);
}
/**
*打开音频
*
*@paramcontext
*@paramurl
*/
publicstaticvoidopenAudio(Contextcontext,Stringpath){
Intentintent=newIntent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file:///"+path),"audio/*");
context.startActivity(intent);
}
/**
*打开视频文件
*
*@paramcontext
*@paramurl
*/
publicstaticvoidopenVideo(Contextcontext,Stringpath){
Intentintent=newIntent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file:///"+path),"video/*");
context.startActivity(intent);
}
/**
*打开系统摄像头录像,并保存为图片
*
*@paramcontext
*@parampath
*/
publicstaticvoidopenCamera(Contextcontext,Stringpath){
Intentintent=newIntent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.parse(Environment.getExternalStorageDirectory()+"/Videos/"+System.currentTimeMillis()+".jpg"));
context.startActivity(intent);
}
/**
*打开系统摄像头录像,并保存为视频
*
*@paramcontext
*@parampath
*/
publicstaticvoidopenCamera(Contextcontext){
Intentintent=newIntent();
intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.parse(Environment.getExternalStorageDirectory()+"/Videos/"+System.currentTimeMillis()+".mp4"));
context.startActivity(intent);
}
/**
*分享
*/
publicstaticvoidshareApplication(Contextcontext,Stringpackname,Stringurl){
//
//
//
Intentintent=newIntent();
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);
}
/**
*发送对像
*
*@paramview
*/
publicstaticvoidsendData(Contextcontext,Tt){
Intentintent=newIntent(context,t.getClass());
intent.putExtra(t.getClass().getSimpleName(),t);//要传递对像,对像必须是经过序列化的
context.startActivity(intent);
}
/**
*获取对像
*
*@paramview
*/
publicstaticTgetData(Activitycontext,Viewview){
return(T)context.getIntent().getSerializableExtra("account");
}
/**
*安装文件s
*
*@paramcontext
*@paramapkFile
*/
publicstaticvoidinstallApp(Contextcontext,FileapkFile){
Intentintent=newIntent();
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);
}
/**
*卸载
*
*@paramcontext
*@paramapkFile
*/
publicstaticvoidunInstallApp(Contextcontext,FileapkFile){
UripackageURI=Uri.parse("package:com.andorid.main");
IntentuninstallIntent=newIntent(Intent.ACTION_DELETE,packageURI);
context.startActivity(uninstallIntent);
}
/**
*获得裁剪的图片从图片集合里
*@paramcontext
*@paramsdcardTempFile
*@paramcrop
*/
publicstaticvoidgetimageFromGallery(Activitycontext,FilesdcardTempFile,intcrop){
Intentintent=newIntent("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里
*@paramcontext
*@paramsdcardTempFile
*@paramcrop
*/
publicstaticvoidgetimageFromCamera(Activitycontext,FilesdcardTempFile,intcrop){
Uriuri=Uri.fromFile(sdcardTempFile);
Intentintent=newIntent("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);
}
/**
*获得裁剪的图片从摄像头
*@paramcontext
*@paramsdcardTempFile
*@paramcrop
*/
publicstaticvoidgetImageFromCamera(Activitycontext,FilesdcardTempFile){
Uriuri=Uri.fromFile(sdcardTempFile);
Intentintent=newIntent("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程序设计有所帮助。
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语