Пользовательская схема URL Android - PullRequest
1 голос
/ 24 октября 2011

Привет, пользовательская схема URL не работает для меня.Вот мой код

                <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 Это дает мне веб-страницу не доступна ошибка.Здесь что-то не так?Пожалуйста, дайте мне знать

Ответы [ 2 ]

3 голосов
/ 06 января 2012

Простой ввод URL-адреса в панель не сделает этого. Ваш URL должен быть кликабельной ссылкой на веб-странице, потому что метод браузера, который проверяет, является ли это пользовательский URL, срабатывает только при нажатии на ссылку; он просто запускает 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>

Конечно, вам придется заменить некоторые имена здесь именами, относящимися к вашему приложению. Я также рекомендовал бы начинать вашу схему URL с чего-то уникального, а не с http в случае, если http сбивает браузер с толку. Моя схема URL, например, была stoneware.app.switcher: // Надеюсь, это может вам пригодиться:)

0 голосов
/ 24 октября 2011

Добавьте этот код в файл манифеста:

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

и попробуйте.

...