<category android:name="android.intent.category.DEFAULT"/>
时间: 2025-06-28 08:01:09 浏览: 19
### 关于 Android Intent 类别 DEFAULT 的说明
Intent 类别的 `CATEGORY_DEFAULT` 是一种常见的类别,在启动 Activity 或者广播接收器时默认会添加此类别。当一个组件被定义为支持 `CATEGORY_DEFAULT` 时,意味着可以通过隐式意图来调用它[^1]。
通常情况下,如果希望应用程序能够响应来自其他应用的某些类型的请求,则应该声明此类别。例如:
```xml
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
```
上述配置表示当前 activity 可以处理带有 ACTION_VIEW 动作并携带 CATEGORY_DEFAULT 类别的意图。这允许其他应用程序通过发送匹配这些条件的意图来打开这个 activity。
对于开发者来说,创建具有 `CATEGORY_DEFAULT` 的显式或隐式意图非常简单。下面是一个简单的例子展示如何构建这样的意图对象:
```java
// 创建一个新的意图实例
Intent intent = new Intent(Intent.ACTION_VIEW);
// 添加默认分类
intent.addCategory(Intent.CATEGORY_DEFAULT);
```
值得注意的是,默认情况下所有的活动都会自动包含 `CATEGORY_DEFAULT`,因此除非特别指定了其他的类别,否则不需要手动添加这一项也能正常工作。
#### 使用场景举例
假设有一个文件浏览器的应用程序想要让用户点击链接后能跳转到网页查看页面,那么可以在清单文件中设置相应的过滤器,并确保包含了 `CATEGORY_DEFAULT` 来接受外部传入的数据源。
```xml
<activity android:name=".WebBrowserActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/> <!-- 接收默认意图 -->
<data android:scheme="http"
android:host="www.example.com"/>
</intent-filter>
</activity>
```
这样做的好处是可以让 Web 浏览器不仅限于内部触发,还可以由第三方应用发起浏览操作。
阅读全文
相关推荐



















