Android/Java: 如何创建没有https的个性化方案?

Android/Java: How to create personalized schemes without https in it?

如何在不使用 https 的情况下使用带参数的方案?它仅适用于 https,我想使用其他代码,例如使用 url :

打开应用程序
myapp://open

这是我的实际代码:

  <intent-filter
        android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />


        <data android:scheme="https" android:host="open" />

    </intent-filter>

我尝试了 <data android:scheme="myapp" android:host="open" /> 但没有用。 我在 Google Lens(和其他扫描应用程序)中尝试过,它不会让我打开不包含“https”的方案

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="33"/> <!-- NEW CODE -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.CAMERA2" />
    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO" />

谢谢

您似乎至少需要一个自定义方案和主机,如下例所示:

<activity ... exported=true>
    <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="myapp" android:host="open" />
    </intent-filter>
</activity>

您可以使用

对其进行测试
adb shell am start -W -a android.intent.action.VIEW -d myapp://open

通过执行此命令,将打开与 intent-filter 关联的 activity。

如果仍然无效,则可能是使用的 QR 码 reader 不适用于自定义方案。例如开源应用程序 Binary Eye (de.markusfisch.android.binaryeye) 使用带有 link myapp://open.

的二维码打开应用程序没有问题