android - 我希望我的应用程序位于 "open with"浏览器部分

标签 android

如果有人点击显示“打开方式”的链接,您可以在“Firefox、Chrome...”之间进行选择 我如何将我的应用程序放在那里,如果有人点击我的应用程序名称...我的应用程序将使用包含此链接的参数启动。

如果这是错误的部分,我很抱歉。

最佳答案

使用<intent-filter>

描述: 指定 Activity 、服务或广播接收器可以响应的 Intent 类型。 Intent 过滤器声明其父组件的功能 - Activity 或服务可以做什么以及接收器可以处理什么类型的广播。它打开组件以接收广告类型的 Intent ,同时过滤掉那些对组件没有意义的 Intent 。 过滤器的大部分内容都由其 <action> 描述。 , <category> ,和<data>子元素。

这是一个例子

<a href="http://stg.bbc.in/press-rel/abc.html">click me!</a>

AndroidManifest.xml看起来像这样:

 <activity
    android:name=".DashBoard"
    android:label="@string/title_activity_dash_board"
    android:exported="true"
    android:theme="@style/AppTheme.NoActionBar">
    <intent-filter>
        <data
            android:host="www.bbc.in"
            android:pathPrefix="/"
            android:scheme="https" />
        <data
            android:host="www.stg.bbc.in"
            android:pathPrefix="/"
            android:scheme="http" />
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

注意: Intent 标志的顺序可能会导致问题,因此请像上面那样使用

“我建议您简单地使用该标签中的新子元素创建另一个 <intent-filter> 以避免出现问题”看起来 here

关于android - 我希望我的应用程序位于 "open with"浏览器部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41198348/

相关文章:

android - 从硬件设备执行时如何查看代码错误

java - 如何从安卓日历中获取日期?

android - 无法从 firebase 数据库中获取值

Android - 为什么 webview 重定向到 webbrowser

java - Android:下载文件八位字节流 WebView

java - 如何从在线读取Json而不是 Assets 文件夹

android - 从另一个 Android 应用程序调用渐进式 Web 应用程序

android - 如何加快 android ndk 构建

android - Chrome 自定义选项卡可以在生产中使用吗?

android - 带有 SwipeRefresh 的 ListView 上的 MarginLayoutParams ClassCastException