Android Intent 隐式

Posted PCM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);  

参考

以上是关于Android Intent 隐式的主要内容,如果未能解决你的问题,请参考以下文章

android小知识点代码片段

2016.03-04 学习笔记-Android中隐式Intent 的使用

android隐式intent使用场景解析

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

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

在Android中Intent的概念及应用——显示Intent和隐式Intent