`
jessie_java
  • 浏览: 60197 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

【转】Android --Intent的几种用法

 
阅读更多

Intent的几种用法

下面列出几种Intent的用法

显示网页:
1.Uri uri = Uri.parse("http://www.google.com");
2.Intent it = new Intent(Intent.ACTION_VIEW,uri);
3.startActivity(it);

Or

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(URL_FB));
startActivity(intent);

显示地图:
1.Uri uri = Uri.parse("geo:38.899533,-77.036476");
2.Intent it = new Intent(Intent.Action_VIEW,uri);
3.startActivity(it);

路径规划:
1.Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");
2.Intent it = new Intent(Intent.ACTION_VIEW,URI);
3.startActivity(it);

拨打电话:

调用拨号程序
1.Uri uri = Uri.parse("tel:xxxxxx");
2.Intent it = new Intent(Intent.ACTION_DIAL, uri);
3.startActivity(it);

1.Uri uri = Uri.parse("tel.xxxxxx");
2.Intent it =new Intent(Intent.ACTION_CALL,uri);
3.要使用这个必须在配置文件中加入<uses-permission id="android .permission.CALL_PHONE" />

发送SMS/MMS
调用发送短信的程序
1.Intent it = new Intent(Intent.ACTION_VIEW);  
2.it.putExtra("sms_body", "The SMS text");  
3.it.setType("vnd.android-dir/mms-sms");  
4.startActivity(it);

发送短信
1.Uri uri = Uri.parse("smsto:0800000123");  
2.Intent it = new Intent(Intent.ACTION_SENDTO, uri);  
3.it.putExtra("sms_body", "The SMS text");  
4.startActivity(it);

发送彩信
1.Uri uri = Uri.parse("content://media/external/images/media/23");  
2.Intent it = new Intent(Intent.ACTION_SEND);  
3.it.putExtra("sms_body", "some text");  
4.it.putExtra(Intent.EXTRA_STREAM, uri);  
5.it.setType("image/png");  
6.startActivity(it);

发送Email
2.Uri uri = Uri.parse("mailto:xxx@abc.com");
3.Intent it = new Intent(Intent.ACTION_SENDTO, uri);
4.startActivity(it);

1.Intent it = new Intent(Intent.ACTION_SEND);  
2.it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");  
3.it.putExtra(Intent.EXTRA_TEXT, "The email body text");  
4.it.setType("text/plain");  
5.startActivity(Intent.createChooser(it, "Choose Email Client"));

1.Intent it=new Intent(Intent.ACTION_SEND);    
2.String[] tos={"me@abc.com"};    
3.String[] ccs={"you@abc.com"};    
4.it.putExtra(Intent.EXTRA_EMAIL, tos);    
5.it.putExtra(Intent.EXTRA_CC, ccs);    
6.it.putExtra(Intent.EXTRA_TEXT, "The email body text");    
7.it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");    
8.it.setType("message/rfc822");    
9.startActivity(Intent.createChooser(it, "Choose Email Client"));  

添加附件
1.Intent it = new Intent(Intent.ACTION_SEND);  
2.it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");  
3.it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");  
4.sendIntent.setType("audio/mp3");  
5.startActivity(Intent.createChooser(it, "Choose Email Client"));

发送附件
2.Intent it = new Intent(Intent.ACTION_SEND);
3.it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
4.it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");
5.sendIntent.setType("audio/mp3");
6.startActivity(Intent.createChooser(it, "Choose Email Client"));

播放多媒体
2.Intent it = new Intent(Intent.ACTION_VIEW);
3.Uri uri = Uri.parse("file:///sdcard/song.mp3");
4.it.setDataAndType(uri, "audio/mp3");
5.startActivity(it);

1.Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");  
2.Intent it = new Intent(Intent.ACTION_VIEW, uri);  
3.startActivity(it);

Uninstall 程序
1.Uri uri = Uri.fromParts("package", strPackageName, null);  
2.Intent it = new Intent(Intent.ACTION_DELETE, uri);  
3.startActivity(it);

uninstall apk
1.Uri uninstallUri = Uri.fromParts("package", "xxx", null);
2.
3.returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);

install apk
1.Intent intent = new Intent(Intent.ACTION_VIEW);  
2.intent.setDataAndType(Uri.parse("file:///sdcard/test.apk"), "application/vnd.android.package-archive");   
3.          
4.startActivity(intent);

play audio
1.Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
2.
3.returnIt = new Intent(Intent.ACTION_VIEW, playUri);

1.//搜索应用
2.Uri uri = Uri.parse("market://search?q=pname:pkg_name");
3.Intent it = new Intent(Intent.ACTION_VIEW, uri);
4.startActivity(it);
5.//where pkg_name is the full package path for an application

7.//显示指定应用的详细页面(这个好像不支持了,找不到app_id)
8.Uri uri = Uri.parse("market://details?id=app_id");
9.Intent it = new Intent(Intent.ACTION_VIEW, uri);
10.startActivity(it);
11.//where app_id is the application ID, find the ID
12.//by clicking on your application on Market home
13.//page, and notice the ID from the address bar

Activity 的切换
2个Activity 的切换,没有数据传递
//从A到B
Intent intent = new Intent();
intent.setClass(A.this, B.class);
startActivity(intent);

2个Activity 之间传递数据
相关的几个函数
startActivityForResult

public final void setResult(int resultCode, String data)
回调函数

protected void onActivityResult(int requestCode, int resultCode, Intent data)


例如A到B,从B得到数据
//A到B
static final int RG_REQUEST = 0;
Intent intent = new Intent();
intent.setClass(A.this, B.class);
startActivityForResult(intent,RG_REQUEST);
                                  
//在B中处理
Bundle bundle = new Bundle();
bundle.putString("DataKey", edittext.getText().toString());//给bundle 写入数据
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();

//最后在A的回调函数里面接收数据
if (requestCode == RG_REQUEST) {
   if (resultCode == RESULT_CANCELED)
      setTitle("Canceled...");
   else if(resultCode == RESULT_OK) {
     setTitle((String)data.getCharSequenceExtra("DataKey"));
    }
}

分享到:
评论

相关推荐

    android-criminal-intent:android-criminal-intent 的教程应用程序

    通过这个项目,开发者不仅可以学习到Intent的基本用法,还能了解到Android应用的结构和组件间的通信方式。对于初学者,这是一个很好的起点,而对于有经验的开发者,它也是一个复习和提升技能的实用资源。

    Android笔记(3)---Activity和Intent

    Intent则是一种消息传递对象,用于在Android组件之间进行通信,特别是Activity之间。Intent有两种类型:显式Intent和隐式Intent。显式Intent通过指定目标Component(Activity或Service)的全限定类名来明确表示调用...

    android-all-9-robolectric-4913185-2.zip

    总结来说,"android-all-9-robolectric-4913185-2.zip"是一个包含特定版本Robolectric测试库的压缩文件,它提供了一种在Java虚拟机上高效、准确地测试Android应用程序的方法,特别是在API Level 9环境下。...

    Android Intent的几种用法全面总结

    以下是Android Intent的几种常见用法的详细解释: 1. 显示网页: 当你想在设备上打开一个网页时,可以通过ACTION_VIEW Intent与系统浏览器交互。例如: ```java Uri uri = Uri.parse("http://www.google.com"); ...

    Android中intent的使用

    Intent的构造方法主要有以下几种: - `Intent(Context packageContext, Class&lt;?&gt; className)`: 创建一个显式Intent,用于启动指定的组件。 - `Intent(String action)`: 创建一个隐式Intent,指定动作。 - `Intent...

    Android系列之Intent传递对象的几种实例方法

    本篇文章将详细探讨如何通过Intent在Android中传递对象,主要分为两种方式:使用`Serializable`接口和`Parcelable`接口。 1. **Serializable接口** `Serializable`是Java提供的一个标准序列化接口,当一个类实现了...

    intent传递类内容

    在Android应用开发中,Intent是一种强大的机制,用于在应用程序组件之间进行通信,它承载着启动一个新活动、启动服务、传递数据等任务。Intent传递类内容主要包括以下几方面: 1. **基本Intent类型**: - **显式...

    android--service实例

    在Android系统中,Service是一种非常重要的组件,它用于在后台执行长时间运行的操作,即使用户离开了应用程序,Service仍能持续运行。本教程将深入探讨“android--service实例”,讲解如何创建、启动、绑定以及管理...

    Android四大核心——Intent

    本篇将深入探讨Intent的基本概念、类型、使用方法及其在实际开发中的重要性。 **1. Intent基本概念** Intent是一个对象,用于表示应用程序中的一个动作,它描述了应用想要执行的操作以及可能需要的数据。Intent...

    intent的几种常用用法.pdf

    以下是对Intent几种常见用法的详细说明: 1. **显示网页** 使用`ACTION_VIEW`和`Uri`来打开浏览器并显示指定的网页。例如: ```java Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent...

    android-API文档

    Android API文档是开发者在进行Android应用开发时的重要参考资料,它详细阐述了Android系统的各个组件、接口、类库以及方法的使用。这篇文档集合了多个Android技术分支,为开发者提供了全面的指南。 首先,我们来看...

    Android应用源码之Intent_TabHostSample.zip

    本篇将深入解析"Android应用源码之Intent_TabHostSample",通过源码分析来探讨这两个组件的使用和实现原理。 首先,Intent是Android系统中的一个核心概念,它充当了不同组件之间通信的桥梁。在Intent中,我们可以...

    [Android开发从零开始].7.Intent初级学习

    Intent对象可以通过构造函数创建,常见的有以下几种: - Intent(Context packageContext, Class&lt;?&gt; clazz):用于创建显式Intent。 - Intent(String action):用于创建基于Action的隐式Intent。 - Intent(Intent ...

    android中隐式intent的使用说明2022优秀文档.pptx

    Android 中隐式 Intent 的使用说明 Android 中的 Intent 机制是 Android 应用程序之间通信的基础,Intent 负责描述一次操作的动作、动作涉及数据、附加数据等信息,然后 Android 系统根据 Intent 的描述找到对应的...

    android-->tabHost

    在本篇文章中,我们将深入探讨`TabHost`的工作原理、使用方法以及源码解析,帮助开发者更好地理解和运用这一功能。 `TabHost`是Android SDK提供的一种容器,它允许我们创建带有多个选项卡的用户界面,每个选项卡...

    android-intercommunication.rar_android

    在Android系统中,主要有以下几种方式来实现应用程序的内部通信: 1. **Intent**:Intent是Android中进行组件间通信的主要手段。它可以用来启动一个Activity、Service,或者传递数据。Intent分为显式Intent和隐式...

    OpenCV-Face-Recognition-Android-master.zip

    本项目可能采用了Haar级联分类器,这是一种机器学习方法,通过训练大量的正面和非正面人脸图像来创建一个级联分类器,用于快速定位图像中的人脸区域。 特征提取是人脸识别的关键环节。OpenCV提供了EigenFace、...

    知识共享-Android实现页面跳转的几种方式(雷惊风).

    本文档详细介绍了Android应用中实现页面跳转的几种方式,包括使用`Action`、`data`、`Category`以及`Extras`等不同方法。这些技术手段不仅帮助开发者更好地管理应用内部的导航逻辑,还能增强用户体验,使用户能够...

Global site tag (gtag.js) - Google Analytics