У меня кастомное ПЗУ и нет браузера по умолчанию, кроме Тестер браузера WebView. Я разработал собственное приложение для веб-браузера (активность webviewclient) и установил его на телефон. Теперь я хочу, чтобы любые URL-адреса, когда пользователь щелкает по телефону, приложение моего браузера перехватывало и загружало этот URL-адрес. Вот что я использую в намерении_фильтра
<intent_filter>
<action android:name = "android.intent.action.VIEW"/>
<category android:name = "android.intent.category.BROWSABLE"/>
<category android:name = "android.intent.category.DEFAULT"/>
</intent_filter>
Но это не работает, и все еще WebView приложение для тестирования браузера запускает и загружает ссылки. Может ли кто-нибудь сказать мне, как я могу установить свое приложение в качестве приложения браузера по умолчанию ИЛИ использовать какое-либо специальное намерение, которое может помочь запустить это действие при нажатии на любой URL?
Для этого вам нужно определить запуск Activity или Browser приложения, примерно так:
Intent intent = new Intent();
intent.setComponent(new ComponentName("/*Pass your browser package*/","com.google.android.browser.BrowserActivity /*And pass Browser Activity*/"));
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.BROWSABLE");
Uri uri = Uri.parse(url);
intent.setData(uri);
try
{
startActivity(intent);
}
catch (Exception e)
{
e.printStackTrace();
}
Ответ уже доступен по ссылке это
Попробуйте добавить оба фильтра намерений
<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 = "http"
android:host = "*"/>
</intent-filter>
<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 = "https"
android:host = "*" />
</intent-filter>