热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Intent意图大全

打开主界面:IntentintentnewIntent();intent.setAction(“android.intent.action.MAIN”);intent.addCat

打开主界面:
Intent intent = new Intent();
intent.setAction(“android.intent.action.MAIN”);
intent.addCategory(“android.intent.category.HOME”);
startActivity(intent);
从google搜索内容
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,”searchString”)
startActivity(intent);
显示地图
Uri uri = Uri.parse(“geo:38.899533,-77.036476”);
Intent it = new Intent(Intent.Action_VIEW,uri);
startActivity(it);
路径规划
Uri uri = Uri.parse(“http://maps.google.com/maps?f=dsaddr=startLat%20startLng&daddr=endLat%20endLng&hl=en“);
Intent it = new Intent(Intent.ACTION_VIEW,URI);
startActivity(it);
调用发短信的程序
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra(“sms_body”, “The SMS text”);
it.setType(“vnd.android-dir/mms-sms”);
startActivity(it);
发送短信
Uri uri = Uri.parse(“smsto:0800000123”);
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra(“sms_body”, “The SMS text”);
startActivity(it);
String body=”this is sms demo”;
Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(“smsto”, number, null));
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);
startActivity(mmsintent);
发送彩信
Uri uri = Uri.parse(“content://media/external/images/media/23”);
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(“sms_body”, “some text”);
it.putExtra(Intent.EXTRA_STREAM, uri);
it.setType(“image/png”);
startActivity(it);
StringBuilder sb = new StringBuilder();
sb.append(“file://”);
sb.append(fd.getAbsoluteFile());
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(“mmsto”, number, null));
// Below extra datas are all optional.
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());
intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);
intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);
startActivity(intent);
发送Email
Uri uri = Uri.parse(“mailto:xxx@abc.com”);
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(it);
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_EMAIL, “me@abc.com”);
it.putExtra(Intent.EXTRA_TEXT, “The email body text”);
it.setType(“text/plain”);
startActivity(Intent.createChooser(it, “Choose Email Client”));
Intent it=new Intent(Intent.ACTION_SEND);
String[] tos={“me@abc.com”};
String[] ccs={“you@abc.com”};
it.putExtra(Intent.EXTRA_EMAIL, tos);
it.putExtra(Intent.EXTRA_CC, ccs);
it.putExtra(Intent.EXTRA_TEXT, “The email body text”);
it.putExtra(Intent.EXTRA_SUBJECT, “The email subject text”);
it.setType(“message/rfc822”);
startActivity(Intent.createChooser(it, “Choose Email Client”));

Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_SUBJECT, “The email subject text”);
it.putExtra(Intent.EXTRA_STREAM, “file:///sdcard/mysong.mp3”);
sendIntent.setType(“audio/mp3”);
startActivity(Intent.createChooser(it, “Choose Email Client”));
播放多媒体
Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse(“file:///sdcard/song.mp3”);
it.setDataAndType(uri, “audio/mp3”);
startActivity(it);
Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, “1”);
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
打开照相机
<1>Intent i &#61; new Intent(Intent.ACTION_CAMERA_BUTTON, null);
this.sendBroadcast(i);
<2>long dateTaken &#61; System.currentTimeMillis();
String name &#61; createName(dateTaken) &#43; “.jpg”;
fileName &#61; folder &#43; name;
ContentValues values &#61; new ContentValues();
values.put(Images.Media.TITLE, fileName);
values.put(“_data”, fileName);
values.put(Images.Media.PICASA_ID, fileName);
values.put(Images.Media.DISPLAY_NAME, fileName);
values.put(Images.Media.DESCRIPTION, fileName);
values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileName);
Uri photoUri &#61; getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

Intent inttPhoto &#61; new Intent(MediaStore.ACTION_IMAGE_CAPTURE); inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri); startActivityForResult(inttPhoto, 10);

从gallery选取图片
Intent i &#61; new Intent();
i.setType(“image/*”);
i.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(i, 11);
打开录音机
Intent mi &#61; new Intent(Media.RECORD_SOUND_ACTION);
startActivity(mi);
显示应用详细列表
Uri uri &#61; Uri.parse(“market://details?id&#61;app_id”);
Intent it &#61; new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
//where app_id is the application ID, find the ID
//by clicking on your application on Market home
//page, and notice the ID from the address bar

刚才找app id未果&#xff0c;结果发现用package name也可以 Uri uri &#61; Uri.parse("market://details?id&#61;"); 这个简单多了

寻找应用
Uri uri &#61; Uri.parse(“market://search?q&#61;pname:pkg_name”);
Intent it &#61; new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
//where pkg_name is the full package path for an application
打开联系人列表
<1>

Intent i &#61; new Intent(); i.setAction(Intent.ACTION_GET_CONTENT); i.setType("vnd.android.cursor.item/phone"); startActivityForResult(i, REQUEST_TEXT);

<2>

Uri uri &#61; Uri.parse("content://contacts/people"); Intent it &#61; new Intent(Intent.ACTION_PICK, uri); startActivityForResult(it, REQUEST_TEXT);

打开另一程序
Intent i &#61; new Intent();
ComponentName cn &#61; new ComponentName(“com.yellowbook.android2”,
“com.yellowbook.android2.AndroidSearch”);
i.setComponent(cn);
i.setAction(“android.intent.action.MAIN”);
startActivityForResult(i, RESULT_OK);
调用系统编辑添加联系人&#xff08;高版本SDK有效&#xff09;&#xff1a;
Intent it &#61; newIntent(Intent.ACTION_INSERT_OR_EDIT);
it.setType(“vnd.android.cursor.item/contact”);
//it.setType(Contacts.CONTENT_ITEM_TYPE);
it.putExtra(“name”,”myName”);
it.putExtra(android.provider.Contacts.Intents.Insert.COMPANY, “organization”);
it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL,”email”);
it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,”homePhone”);
it.putExtra(android.provider.Contacts.Intents.Insert.SECONDARY_PHONE,
“mobilePhone”);
it.putExtra( android.provider.Contacts.Intents.Insert.TERTIARY_PHONE,
“workPhone”);
it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE,”title”);
startActivity(it);

调用系统编辑添加联系人&#xff08;全有效&#xff09;&#xff1a;
Intent intent &#61; newIntent(Intent.ACTION_INSERT_OR_EDIT);
intent.setType(People.CONTENT_ITEM_TYPE);
intent.putExtra(Contacts.Intents.Insert.NAME, “My Name”);
intent.putExtra(Contacts.Intents.Insert.PHONE, “&#43;1234567890”);
intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE,Contacts.PhonesColumns.TYPE_MOBILE);
intent.putExtra(Contacts.Intents.Insert.EMAIL, “com&#64;com.com”);
intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE,Contacts.ContactMethodsColumns.TYPE_WORK);
startActivity(intent);
打开系统短信应用,分享软件:
Intent intent&#61;new Intent();
intent.setAction(“android.intent.action.SEND”);
intent.setType(“text/plain”);
intent.putExtra(Intent.EXTRA_TEXT, “推荐您使用一款软件”&#43;appInfo.getName()&#43;”,下载地址google市场”);
startActivity(intent);
打开程序详细信息:
// 详细信息
Intent intent &#61;new Intent();
intent.setAction(“android.settings.APPLICATION_DETAILS_SETTINGS”);
intent.setData(Uri.parse(“package:”&#43;appInfo.getPackageName()));//打开指定包名应用的详细信息
startActivity(intent);
拨打电话意图:
// 电话
Intent intent &#61; new Intent();
intent.setAction(Intent.ACTION_CALL); // 设置动作
intent.setData(Uri.parse(“tel://123456”)); // 设置数据
启动浏览器打开指定网页:
// 网页
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(“http://192.168.1.45:8080/androidWeb“));
启动音乐播放器意图:
// 音频/视频&#xff0c;设置type
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(“file:///mnt/sdcard/daqin.mp3”), “audio/*”); // 设置数据和数据类型&#xff0c;将启动音频播放器&#xff08;vedio&#xff09;
通过指定意图过滤器的data-type,设置指定类型文件打开方式:
Another common configuration is filters with a scheme and a data type. For example, a element like the following tells Android that the component can retrieve video data from the network in order to perform the action:




启动应用程序意图:
PackageManager manager&#61;getPackageManager();
// 可以获取到指定包名的应用程序的启动的intent对象
Intent launchIntentForPackage &#61; manager.getLaunchIntentForPackage(appInfo.getPackageName());
if(launchIntentForPackage!&#61;null){
startActivity(launchIntentForPackage);
}else{
Toast.makeText(getApplicationContext(), “系统底层应用不能启动”, 0).show();
}
卸载程序意图:
String packageQualifyName &#61; appInfoNowClick.getPackageQualifyName();
//卸载程序意图
Intent unInstallIntent &#61; new Intent();
unInstallIntent.setAction(“android.intent.action.DELETE”);
unInstallIntent.addCategory(“android.intent.category.DEFAULT”);
unInstallIntent.setData(Uri.parse(“package:” &#43; packageQualifyName));
startActivityForResult(unInstallIntent, 0);
安装程序意图:
* 安装 打开系统的packageInstallerActivity
*/
protected void installApk() {
//
//
//
//
//
//
//
Intent intent &#61; new Intent();
intent.setAction(“android.intent.action.VIEW”);
intent.addCategory(“android.intent.category.DEFAULT”);
intent.setDataAndType(
Uri.fromFile(new File(“/mnt/sdcard/mobilesafe2.0.apk”)),
“application/vnd.android.package-archive”);
startActivity(intent);
}

//自定义android Intent类&#xff0c;
//可用于获取打开以下文件的intent
//PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO//错误示例:
//这个不行&#xff0c;可能是因为PDF.apk程序没有权限访问其它APK里的asset资源文件,又或者是路径写错?
//Intent it &#61; getPdfFileIntent("file:///android_asset/helphelp.pdf");//下面这些都OK
Intent it &#61; getHtmlFileIntent("/mnt/sdcard/tutorial.html");//SD卡主目录
//Intent it &#61; getHtmlFileIntent("/sdcard/tutorial.html");//SD卡主目录,这样也可以
//Intent it &#61; getHtmlFileIntent("/system/etc/tutorial.html");//系统内部的etc目录
//Intent it &#61; getPdfFileIntent("/system/etc/helphelp.pdf");
//Intent it &#61; getWordFileIntent("/system/etc/help.doc");
//Intent it &#61; getExcelFileIntent("/mnt/sdcard/Book1.xls")
//Intent it &#61; getPptFileIntent("/mnt/sdcard/download/Android_PPT.ppt");//SD卡的download目录下
//Intent it &#61; getVideoFileIntent("/mnt/sdcard/ice.avi");
//Intent it &#61; getAudioFileIntent("/mnt/sdcard/ren.mp3");
//Intent it &#61; getImageFileIntent("/mnt/sdcard/images/001041580.jpg");
//Intent it &#61; getTextFileIntent("/mnt/sdcard/hello.txt",false);
startActivity( it );
public class MyIntent {//android获取一个用于打开HTML文件的intentpublic static Intent getHtmlFileIntent( String param ) {Uri uri &#61; Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();Intent intent &#61; new Intent("android.intent.action.VIEW");intent.setDataAndType(uri, "text/html");return intent;}//android获取一个用于打开图片文件的intentpublic static Intent getImageFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "image/*");return intent;}//android获取一个用于打开PDF文件的intentpublic static Intent getPdfFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "application/pdf");return intent;}//android获取一个用于打开文本文件的intentpublic static Intent getTextFileIntent( String param, boolean paramBoolean) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);if (paramBoolean) {Uri uri1 &#61; Uri.parse(param );intent.setDataAndType(uri1, "text/plain");} else {Uri uri2 &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri2, "text/plain");}return intent;}//android获取一个用于打开音频文件的intentpublic static Intent getAudioFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);intent.putExtra("oneshot", 0);intent.putExtra("configchange", 0);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "audio/*");return intent;}//android获取一个用于打开视频文件的intentpublic static Intent getVideoFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);intent.putExtra("oneshot", 0);intent.putExtra("configchange", 0);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "video/*");return intent;}//android获取一个用于打开CHM文件的intentpublic static Intent getChmFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "application/x-chm");return intent;}//android获取一个用于打开Word文件的intentpublic static Intent getWordFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "application/msword");return intent;}//android获取一个用于打开Excel文件的intentpublic static Intent getExcelFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "application/vnd.ms-excel");return intent;}//android获取一个用于打开PPT文件的intentpublic static Intent getPptFileIntent( String param ) {Intent intent &#61; new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri &#61; Uri.fromFile(new File(param ));intent.setDataAndType(uri, "application/vnd.ms-powerpoint");return intent;}
}

推荐阅读
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 本文介绍如何使用线段树解决洛谷 P1531 我讨厌它问题,重点在于单点更新和区间查询最大值。 ... [详细]
  • 本文对比了杜甫《喜晴》的两种英文翻译版本:a. Pleased with Sunny Weather 和 b. Rejoicing in Clearing Weather。a 版由 alexcwlin 翻译并经 Adam Lam 编辑,b 版则由哈佛大学的宇文所安教授 (Prof. Stephen Owen) 翻译。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 本教程详细介绍了如何使用 Spring Boot 创建一个简单的 Hello World 应用程序。适合初学者快速上手。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 命令模式是一种行为设计模式,它将请求封装成一个独立的对象,从而允许你参数化不同的请求、队列请求或者记录请求日志。本文将详细介绍命令模式的基本概念、组件及其在实际场景中的应用。 ... [详细]
  • 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4277。作者:Bob Lee,日期:2012年9月15日。题目描述:给定n个木棍,求可以组成的不同三角形的数量,最多15根木棍。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
author-avatar
n重庆商报程红Lft
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有