(Когда вы говорите «WebKit», я предполагаю, что вы имеете в виду системный браузер по умолчанию, а не встраиваемый класс WebView.)
Это можно сделать с помощью пользовательских схем URL.Пример пользовательской схемы URl:
myapp: // somedata: someotherdata
Вы можете зарегистрировать свое приложение для запуска по этой схеме:
<activity ....>
<intent-filter>
<data android:scheme="myapp"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
</activity>
Тогда в васбраузер просто ссылается на myapp://
, как если бы вы использовали любой другой http://
URL (через кнопку, ссылку, javascript ..).Вы также можете добавить некоторые данные после схемы, например, myapp://some:data
, и вы можете получить их в своем приложении через getIntent().getData()
.
Примечание: пользовательские схемы являются глобальными - убедитесь, что вы не конфликтуете с каким-либо другим приложением.Лучше всего использовать полное имя пакета com.mypackage.myapp://
.