admin 管理员组

文章数量: 1184232

首先拿到浏览器源码的意图过滤器,如下

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" />
    <data android:scheme="https" />
    <data android:scheme="about" />
    <data android:scheme="javascript" />
</intent-filter>

开启一个隐式意图

Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");//指定操作行为
//指定操作类别,用add二不用set是因为可以设置多个category,一起过滤
intent.addCategory("android.intent.category.DEFAULT");
intent.addCategory("android.intent.category.BROWSABLE");
intent.setType("https");
intent.setData(Uri.parse("https://www.baidu"));
startActivity(intent);

设置方法的参数说明如下

系统动作的取值

下面的代码演示打开短信发送界面。
短信发送Activity是:.ui.ComposeMessageActivity,找到它的意图过滤器,如下:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <action android:name="android.intent.action.SENDTO" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="sms" />
    <data android:scheme="smsto" />
</intent-filter>

实现:

        Intent intent = new Intent();
        intent.setAction("android.intent.action.SENDTO");
        intent.addCategory("android.intent.category.DEFAULT");
        intent.addCategory("android.intent.category.BROWSABLE");
        intent.setData(Uri.parse("smsto:13115925596"));
        intent.putExtra("sms_body","Hello World!");//body是短信数据库短信内容的段名
        startActivity(intent);

打开相机

        Intent intent = new Intent();
        intent.setAction("android.media.action.IMAGE_CAPTURE");
        intent.addCategory("android.intent.category.DEFAULT");
        startActivity(intent);

本文标签: 意图 浏览器 隐式 系统