`
busuanzi
  • 浏览: 143864 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Android intent-filter 简单用法

 
阅读更多
对电话拨号盘的过滤,mainfest配置文件中Activity如下配置:

<activity Android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action Android:name="android.intent.action.CALL_BUTTON" />

<category Android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
效果,点击电话按钮,弹出选择应用对话框,包含我们自己定义应用:




发送短信的时候,调用自定义应用:

<activity Android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action Android:name="android.intent.action.SENDTO" />
<data Android:scheme="smsto" />
<category Android:name="android.intent.category.DEFAULT" />
</intent-filter>

效果如下,在友录通讯录中点击发送短信按钮,弹出选择应用对话框,包含我们自定义应用:



自定义程序调用发送短信功能:

Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri
.parse("sms://"));
startActivity(sendIntent);

同时,在mainfest配置文件中添加intent-filter,增加发送短信的Intent功能:

<activity Android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action Android:name="android.intent.action.SENDTO" />
<data Android:scheme="sms" />
<category Android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

效果如下,在自己写的程序中点击按钮,调用发送短信功能:



选择自己的应用,进入到TestActivity。

对http请求的Intent过滤:

<activity Android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action Android:name="android.intent.action.VIEW" />
<data Android:scheme="http" />
<category Android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

效果如下,点击http连接的时候,弹出选择应用的对话框:



过滤分享图片功能实现:

<activity Android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action Android:name="android.intent.action.SEND" />
<data Android:mimeType="image/*" />
<category Android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

这样,在相册中点击分享按钮的时候,就会弹出分享应用选择对话框:


分享到:
评论

相关推荐

    Android Intent Filter用法

    在本教程中,我们将深入探讨Intent Filter的使用方法。 首先,Intent Filter的配置主要在AndroidManifest.xml文件中进行。通过在、、或标签内添加&lt;intent-filter&gt;子标签,我们可以为每个组件定义其能够接收的Intent...

    android intent and intent-filters

    当发送一个隐式Intent时,AMS会遍历所有声明了对应Intent-filter的组件,使用PackageParser的matchIntent()方法进行匹配,最终找到最合适的组件。 1. 匹配流程: - AMS接收到Intent后,调用`resolveActivity()`...

    intent-action-send.7z

    下面我们将深入讨论ACTION_SEND的工作原理和使用方法。 1. ACTION_SEND Intent的基本结构: 创建ACTION_SEND Intent时,你需要设置ACTION字段为"android.intent.action.SEND"。此外,还需要设置数据类型(MIME type...

    Android activity-alias别名的使用

    在Android开发中,Activity是应用程序的基本组件之一,用于呈现用户界面并与用户交互。..."AliasDemo"项目为理解这一机制提供了实践案例,通过学习和分析该项目,可以更好地掌握Activity别名的使用方法。

    Android代码-Intent切换.zip

    在Android开发中,Intent是一种非常重要的组件,它用于在应用程序的不同组件之间传递消息,实现活动...通过"Android代码-Intent切换.zip"中的示例,你可以更深入地了解Intent的各种用法,并将其应用到自己的项目中。

    android Intent的用法

    4. 使用Intent创建意图过滤器(Intent Filter): - 在AndroidManifest.xml中,为Activity或BroadcastReceiver添加过滤器,定义能响应的Action、Data和Category。 - 示例: ```xml &lt;activity android:name="....

    intent匹配规则大总结

    - 要指定完整的Data(包括Type和具体的URI),必须使用 `setDataAndType()` 方法,避免先后调用 `setData()` 和 `setType()` 导致值被覆盖。 10. **Scheme 的匹配**: - Scheme的匹配规则也需要遵循Intent与`...

    ZX-Android-Intent详解

    ### ZX-Android-Intent详解 #### 一、Intent的基本概念及作用 在Android开发中,`Intent`扮演着至关重要的角色。它是一个用于描述要执行的动作的抽象对象,主要用于协助完成Android应用程序内部不同组件间的通信。...

    android中intent使用示例

    总结,Intent是Android系统中连接各个组件的桥梁,理解并熟练使用Intent对于开发Android应用至关重要。在实际项目中,Intent不仅可以用于启动Activity和Service,还可以用于启动BroadcastReceiver,实现各种组件间的...

    Intent-Demo:Android Intent 描述和演示

    Intent是Android系统中一个至关重要的概念,它是应用程序之间通信的主要桥梁。Intent不仅仅用于启动Activity,还...通过Intent-Demo示例,开发者可以更好地实践和学习Intent的各种用法,提升自己的Android编程技能。

    Android代码-隐藏安装包图标使用其他应用启动本应用.rar

    总结一下,隐藏Android应用图标并使用其他应用启动的方法包括: 1. 修改AndroidManifest.xml,移除入口Activity的`ACTION_MAIN`和`CATEGORY_LAUNCHER` intent-filter。 2. 创建一个新的Activity或Service,并添加一...

    Android开发-魔窗DeeplinkDemo-AndroidStudio.rar

    2. **AndroidManifest配置**:在Android应用中,Deeplink的配置主要涉及`&lt;activity&gt;`标签内的`&lt;intent-filter&gt;`。例如,添加`&lt;data&gt;`子标签来指定scheme、host和路径,这样当用户点击一个匹配此规则的URL时,系统会...

    Android的Intent实验

    使用`sendBroadcast(Intent)`、`sendOrderedBroadcast(Intent, String)`或`sendBroadcastAsUser(Intent, UserHandle, String)`方法发送广播。注册广播接收器有两种方式:在AndroidManifest.xml中静态注册或在代码中...

    Android-跨应用通讯1

    在Android开发中,跨应用通讯是一项重要的功能,它允许不同应用程序之间进行数据交换和功能调用。本篇文章将深入探讨...正确理解和使用Intent、Intent-Filter以及数据处理,可以创建出功能丰富且安全的Android应用。

    Android Intent的几种用法全面总结

    以上是Intent的基本用法,但Intent还有更多高级用法,如隐式Intent(用于启动未明确指定组件的Activity或Service)、显式Intent(指定确切的组件)、捆绑数据、使用Intent Filter等。理解并熟练使用Intent是构建...

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

    在 Android 中使用隐式 Intent 需要在 AndroidManifest.xml 文件中,首先被调用的 Activity 要有一个带有 `&lt;intent-filter&gt;` 并且包含 `&lt;action&gt;` 的 Activity,设定它能处理的 Intent,并且 category 设为默认值。...

    Android Studio 实验二:Intent的使用

    使用putExtra()方法可以将数据附加到Intent中,然后在接收端使用getExtra()系列方法获取这些数据: ```java // 发送端 Intent intent = new Intent(this, TargetActivity.class); intent.putExtra("key", ...

Global site tag (gtag.js) - Google Analytics