簡體   English   中英

自定義URL方案Android

[英]Custom URL scheme Android

您好自定義網址方案不適用於我。 這是我的代碼

                <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".MainActivity" android:label="@string/app_name"
        android:launchMode="singleTask">

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:scheme="http" android:host="jinilabs.test" />
        </intent-filter>
    </activity>

</application>

當我在模擬器瀏覽器上鍵入url時 - http://jinilabs.test它給了我網頁不可用的錯誤。 這里有什么不對嗎? Plz讓我知道

只需在欄中輸入網址即可。 您的網址必須是網頁上的可點擊鏈接,因為檢查它是否為自定義網址的瀏覽器方法僅在點擊鏈接時才會觸發; 它只是運行在地址欄中輸入的url(並忽略自定義URL)。 點擊此鏈接應該按原樣啟動您的應用。 如果它仍然不起作用,您可能需要在清單文件中添加其他代碼。 我的看起來像這樣:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="appcall.thing"
  android:versionCode="1"
  android:versionName="1.0">
  <uses-sdk android:minSdkVersion="4" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".AppCallActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <intent-filter>
            <data android:scheme="stoneware.app.switcher" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
        </intent-filter>
    </activity>
</application>
</manifest>

當然,您必須用這里的一些名稱替換相對於您的應用程序的名稱。 我還建議在http使瀏覽器混亂的情況下,使用獨特而非http的方式啟動您的url方案。 我的網址方案,例如stoneware.app.switcher://希望這對你有用:)

將此代碼添加到清單文件:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

然后試試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM