代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
意图相关
作者:
泳臻
/ 发布于
2017/2/21
/
859
package com.blankj.utilcode.utils; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.provider.MediaStore; import android.support.v4.content.FileProvider; import android.webkit.MimeTypeMap; import java.io.File; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/9/23 * desc : 意图相关工具类 * </pre> */ public class IntentUtils { private IntentUtils() { throw new UnsupportedOperationException("u can't fuck me..."); } /** * 获取安装App(支持6.0)的意图 * * @param filePath 文件路径 * @return intent */ public static Intent getInstallAppIntent(String filePath) { return getInstallAppIntent(FileUtils.getFileByPath(filePath)); } /** * 获取安装App(支持6.0)的意图 * * @param file 文件 * @return intent */ public static Intent getInstallAppIntent(File file) { if (file == null) return null; Intent intent = new Intent(Intent.ACTION_VIEW); String type; if (Build.VERSION.SDK_INT < 23) { type = "application/vnd.android.package-archive"; } else { type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(FileUtils.getFileExtension(file)); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); Uri contentUri = FileProvider.getUriForFile(Utils.getContext(), "com.your.package.fileProvider", file); intent.setDataAndType(contentUri, type); } intent.setDataAndType(Uri.fromFile(file), type); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取卸载App的意图 * * @param packageName 包名 * @return intent */ public static Intent getUninstallAppIntent(String packageName) { Intent intent = new Intent(Intent.ACTION_DELETE); intent.setData(Uri.parse("package:" + packageName)); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取打开App的意图 * * @param packageName 包名 * @return intent */ public static Intent getLaunchAppIntent(String packageName) { return Utils.getContext().getPackageManager().getLaunchIntentForPackage(packageName); } /** * 获取App具体设置的意图 * * @param packageName 包名 * @return intent */ public static Intent getAppDetailsSettingsIntent(String packageName) { Intent intent = new Intent("android.settings.APPLICATION_DETAILS_SETTINGS"); intent.setData(Uri.parse("package:" + packageName)); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取分享文本的意图 * * @param content 分享文本 * @return intent */ public static Intent getShareTextIntent(String content) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, content); return intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取分享图片的意图 * * @param content 文本 * @param imagePath 图片文件路径 * @return intent */ public static Intent getShareImageIntent(String content, String imagePath) { return getShareImageIntent(content, FileUtils.getFileByPath(imagePath)); } /** * 获取分享图片的意图 * * @param content 文本 * @param image 图片文件 * @return intent */ public static Intent getShareImageIntent(String content, File image) { if (!FileUtils.isFileExists(image)) return null; return getShareImageIntent(content, Uri.fromFile(image)); } /** * 获取分享图片的意图 * * @param content 分享文本 * @param uri 图片uri * @return intent */ public static Intent getShareImageIntent(String content, Uri uri) { Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_TEXT, content); intent.putExtra(Intent.EXTRA_STREAM, uri); intent.setType("image/*"); return intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取其他应用组件的意图 * * @param packageName 包名 * @param className 全类名 * @return intent */ public static Intent getComponentIntent(String packageName, String className) { return getComponentIntent(packageName, className, null); } /** * 获取其他应用组件的意图 * * @param packageName 包名 * @param className 全类名 * @param bundle bundle * @return intent */ public static Intent getComponentIntent(String packageName, String className, Bundle bundle) { Intent intent = new Intent(Intent.ACTION_VIEW); if (bundle != null) intent.putExtras(bundle); ComponentName cn = new ComponentName(packageName, className); intent.setComponent(cn); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取关机的意图 * 需添加权限 {@code <uses-permission android:name="android.permission.SHUTDOWN"/>} * * @return intent */ public static Intent getShutdownIntent() { Intent intent = new Intent(Intent.ACTION_SHUTDOWN); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取跳至拨号界面意图 * * @param phoneNumber 电话号码 */ public static Intent getDialIntent(String phoneNumber) { Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber)); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取拨打电话意图 * 需添加权限 {@code <uses-permission android:name="android.permission.CALL_PHONE"/>} * * @param phoneNumber 电话号码 */ public static Intent getCallIntent(String phoneNumber) { Intent intent = new Intent("android.intent.action.CALL", Uri.parse("tel:" + phoneNumber)); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取跳至发送短信界面的意图 * * @param phoneNumber 接收号码 * @param content 短信内容 */ public static Intent getSendSmsIntent(String phoneNumber, String content) { Uri uri = Uri.parse("smsto:" + phoneNumber); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra("sms_body", content); return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } /** * 获取拍照的意图 * * @param outUri 输出的uri * @return 拍照的意图 */ public static Intent getCaptureIntent(Uri outUri) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, outUri); return intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_NEW_TASK); } /* *//** * 获取选择照片的Intent * * @return *//* public static Intent getPickIntentWithGallery() { Intent intent = new Intent(Intent.ACTION_PICK); return intent.setType("image*//*"); } *//** * 获取从文件中选择照片的Intent * * @return *//* public static Intent getPickIntentWithDocuments() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); return intent.setType("image*//*"); } public static Intent buildImageGetIntent(Uri saveTo, int outputX, int outputY, boolean returnData) { return buildImageGetIntent(saveTo, 1, 1, outputX, outputY, returnData); } public static Intent buildImageGetIntent(Uri saveTo, int aspectX, int aspectY, int outputX, int outputY, boolean returnData) { Intent intent = new Intent(); if (Build.VERSION.SDK_INT < 19) { intent.setAction(Intent.ACTION_GET_CONTENT); } else { intent.setAction(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); } intent.setType("image*//*"); intent.putExtra("output", saveTo); intent.putExtra("aspectX", aspectX); intent.putExtra("aspectY", aspectY); intent.putExtra("outputX", outputX); intent.putExtra("outputY", outputY); intent.putExtra("scale", true); intent.putExtra("return-data", returnData); intent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.toString()); return intent; } public static Intent buildImageCropIntent(Uri uriFrom, Uri uriTo, int outputX, int outputY, boolean returnData) { return buildImageCropIntent(uriFrom, uriTo, 1, 1, outputX, outputY, returnData); } public static Intent buildImageCropIntent(Uri uriFrom, Uri uriTo, int aspectX, int aspectY, int outputX, int outputY, boolean returnData) { Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uriFrom, "image*//*"); intent.putExtra("crop", "true"); intent.putExtra("output", uriTo); intent.putExtra("aspectX", aspectX); intent.putExtra("aspectY", aspectY); intent.putExtra("outputX", outputX); intent.putExtra("outputY", outputY); intent.putExtra("scale", true); intent.putExtra("return-data", returnData); intent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.toString()); return intent; } public static Intent buildImageCaptureIntent(Uri uri) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); return intent; }*/ }
试试其它关键字
意图相关
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
泳臻
贡献的其它代码
(
24
)
.
CRC8校验
.
EasyUI--datebox设置默认时间
.
删除已存在表
.
数字累计
.
修改本机时间及获取硬盘序列号
.
SP相关
.
意图相关
.
实现键盘上下左右键选择文字并显示在文本框
.
select美化自定义下拉框样式
.
调用手机拍照功能
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3