将我的浏览器添加到android的默认浏览器选择列表中?

Gok*_*N K 10 java android default android-intent kotlin

按照如何在Android中的默认浏览器选择列表中添加我的浏览器的建议.我Intentmanifest文件中指定了我:

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http"/> 
<data android:scheme="https"/> 
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

我还添加了许可:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Run Code Online (Sandbox Code Playgroud)

但是我的浏览器仍未显示在设置中的浏览器类别的默认应用程序选项中.

我是否需要为我的应用做任何其他事情以显示在浏览器的默认选项中?

ami*_*phy 13

尝试<category android:name="android.intent.category.BROWSABLE" />在目标活动中intent-filter包含开发人员文档说:

如果用户正在查看网页或电子邮件并单击文本中的链接,则生成的Intent将执行该链接将需要该BROWSABLE类别,以便仅将支持此类别的活动视为可能的操作.

需要它才能intent-filter从可点击的链接访问.没有它,单击链接无法解析为您的应用程序.

<activity ...>

    <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" />
    </intent-filter>

</activity>
Run Code Online (Sandbox Code Playgroud)

.

附加提示:(如果您想强制您的应用成为默认浏览器)

Android 6.0(API级别23)及更高版本上的Android App链接允许应用程序将自己指定为给定类型链接的默认处理程序.如果用户不希望应用程序成为默认处理程序,则他们可以从其设备的系统设置中覆盖此行为.

要为您的应用启用链接处理验证,请android:autoVerify="true"intent-filter标记中设置:

<activity ...>

    <intent-filter android:autoVerify="true">

         ...

    </intent-filter>

</activity>
Run Code Online (Sandbox Code Playgroud)