Android Intent 隐式

隐式intent

xml

<!--在意图过滤器中-->
<intent-filter>
    <action android:name="android.intent."/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="application/person"/>
    <data android:scheme=""
          android:host="">
</intent-filter>
<!--android:action
category
URI和数据类型 -->
    

一个android(理解为匹配机制)中可以定义0-1个action,0-n个category, 0-1个data

一个intent-filter中可以定义多个action,category,data

MainActivity 中

1.setAction

Intent intent = new Intent();
intent.setAction("abcdefg");
startActivity(intent);  

2.构造方法直接设置

Intent intent = new Intent("abcdefg");
startActivity(intent); 

有几点需要注意:

1、 这个Activity其他应用程序也可以调用,只要使用这个Action字符串。这样应用程序之间交互就很容易了,例如手机QQ可以调用QQ空间,可以调用腾讯微博等。

因为如此,为了防止应用程序之间互相影响,一般命名方式是包名+Action名,例如这里命名"abcdefg"就很不合理了,就应该改成"com.example.app016.MyTest"。

2、 当然,你可以在自己的程序中调用其他程序的Action。 例如可以在自己的应用程序中调用拨号面板:

Intent intent = new Intent(Intent.ACTION_DIAL);
// 或者Intent intent = new Intent("android.intent.action.DIAL");
// Intent.ACTION_DIAL是内置常量,值为"android.intent.action.DIAL"
startActivity(intent);  

参考

原文地址:https://www.cnblogs.com/pcmpcm/p/9783213.html

时间: 2024-11-09 02:41:13

Android Intent 隐式的相关文章

implicit intent 隐式意图

Google 文档中: An intent allows you to start an activity in another app by describing a simple action you'd like to perform (such as "view a map" or "take a picture") in an Intent object. This type of intent is called an implicitintent be

Intent隐式意图

Intent隐式意图 就是没有指定的组件 可以有多个 1,首先要在mainactivity里建立Button b类, 然后用 setContentView (R.layout.activity_main);来查找要按钮, 让 b = (Button)setContentView (R.layout.activity_main); 为b添加鼠标事件 b.setOnClickListener(this); 此时要实现implements OnClickListener接口 实现onClick方法 要

android intent隐式调用之一个应用程序启动另一个应用程序(转载)

理解Intent的关键之一是理解清楚Intent的两种基本用法:一种是显式的Intent,即在构造Intent对象时就指定接收者,这种方式与普通的函数调用类似:另一种是隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,这种方式与函数调用差别比较大,有利于降低发送者和接收者之间的耦合.另外Intent除了发送外,还可用于广播. 显示调用 1.Intent intent = new Intent(); intent.setClass(A.this,B.c

Android基础——隐式intent和intent过滤器

当不直接在intent中指定组件名时,就是隐式使用intent,此时要配合过滤器来使用,找到目标的组件 注册文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myintentiii"> <

android 利用隐式Intent打开图片

实现功能 ??点击"查看图片"时能够跳出提示,选择系统图库打开还是自己编写的应用打开,并且对于下载好的图片也有效. 1.我将 qiaoba.jpg 放在 res/drawable 目录下,通过按钮设置打开图片,在按钮的监听设置如下: findViewById(R.id.btn_openImage).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //要是自定义

安卓Intent(隐式)

相对于显式Intent(明确指出了目标组件名称的Intent),隐式Intent,没有明确指出目标组件名称.显式Intent直接用组件的名称定义目标组件,这种方式很直接.但是由于开发人员往往并不清楚别的应用程序的组件名称,因此,显式Intent更多用于在应用程序内部传递消息.比如在某应用程序内,一个Activity启动一个Service.而隐式Intent恰恰相反,它不会用组件名称定义需要激活的目标组件,它更广泛地用于在不同应用程序之间传递消息.在显式Intent消息中,决定目标组件的唯一要素就

Android-----Intent中通过startActivity(Intent intent )隐式启动新的Activity

显式Intent我已经简单使用过了,也介绍过概念,现在来说一说隐式Intent: 隐式Intent:就是只在Intent中设置要进行的动作,可以用setAction()和setData()来填入要执行的动作和数据,然后再用startActivity()启动合适的程序. 此外:如果手机中有多个适合的程序,还会弹出列表供用户选择(假如你手机有两个浏览器,你打开一个连接,这是系统就会弹出两个浏览器列表供你选择) 在此举个使用隐式Intent打开activity的快速拨号例子: xml布局文件代码如下:

从零开始学android&lt;SlidingDrawer 隐式抽屉.三十三.&gt;

SlidingDrawer是一种抽屉型的组件,当用户选择打开此抽屉之后,会得到一些可以使用的"程序集",这样当一个界面要摆放多个组件的时候,使用此组件就可以很好的解决布局空间紧张的问题,SlidingDrawer类的定义如下所示: ava.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.SlidingDrawer 常用的方法 1 public void open() 普通 打开隐藏的抽屉

Android startActivity 隐式调用, 启动其他Activity过程

我们经常用到 Intent intent = new Intent(Intent.ACTION_DIAL); // 或者Intent intent = new Intent("android.intent.action.DIAL");// Intent.ACTION_DIAL是内置常量,值为"android.intent.action.DIAL" startActivity(intent); 那么到底是怎么启动的对应的Activity呢? 其时序图如下 附件地址 h