首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个供应用程序内部使用的意图过滤器

创建一个供应用程序内部使用的意图过滤器
EN

Stack Overflow用户
提问于 2016-03-17 17:04:17
回答 1查看 423关注 0票数 1

我想用intent-filter创建一个用于共享图像的活动。但是,我希望只有当共享意图来自我自己的应用程序时,该活动才是可用的,即:

  • 如果从其他应用程序启动共享意图,我的ShareActivity将不会出现在意图选择器中。
  • 如果从我的应用程序中启动了共享意图,ShareActivity就会出现在其他共享目标中,如Gmail、SMS等。

我尝试过设置exported=false,但它仍然可以从外部访问

代码语言:javascript
复制
    <activity
        android:name=".ShareTestActivity"
        android:label="ShareTest"
        android:exported="false">
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="image/*" />
        </intent-filter>
    </activity>

我该怎么解决呢?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-17 17:10:48

实现你想要的目标的唯一方法是有效地创建你自己的选择器。以你想要的方式建造它。您还需要做的是将操作更改为com.myapp.action.SEND (或其他一些独特的操作),以便您的可以显式地处理这个意图。

当你有了这个意图,然后按照你想要的方式构建选择器。即查询原始的android.intent.action.SEND +其他数据,然后构建要附加到选择器的数据。需要时使用Intent.createChooser()。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36067191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档