Android how to create Custom URL scheme with the given format myapp://http://

后端 未结 3 680
忘了有多久
忘了有多久 2021-01-04 00:06

I have researched through most of the custom URL scheme Q&A and I have not found my possible answer.

I want my app to be launched by clicking a certain URL in t

相关标签:
3条回答
  • 2021-01-04 00:39

    That's a misuse of the URI scheme and is invalid. The HTTP URL you want to pass is a piece of data and should thus be sent in the query string.

    myapp://somehost/action?url=http%3A%2F%2Fwww.name.com%2Fpath%2Fpath2%2F
    
    0 讨论(0)
  • 2021-01-04 00:57

    you need use a hyperlink to start the app . for example ,you set scheme="yourpackagename" ,you need to set a hyperlink like this: yourpackagename://host ,and you should vist the hyperlink on you moble browser .If you do not have host lable,just remove it.

    <!-- Test for URL scheme -->
    <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:host="host" android:scheme="yourpackagename" />
    </intent-filter>
    <!-- End Test for URL scheme -->
    

    If your activity has more than one scheme, you should use 2 or more to specify it

    0 讨论(0)
  • 2021-01-04 01:04

    As CommonsWare said the given URI upon I needed to create a Scheme is not a valid URI thus the scheme didn't not work and the application didn't launch. After this explanation the server side guys were convinced to change the URI to myapp://... and it worked like magic :).

    The Activity looks like this now :

     <activity
        android:name="com.myapp.test.SplashScreen"
        android:exported="true"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
    
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    
        <!-- Test for URL scheme -->
        <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" />
        </intent-filter>
        <!-- End Test for URL scheme -->
    </activity>
    
    0 讨论(0)
提交回复
热议问题