Я нашел этот код для запуска браузера с намерением:
Intent intent = new Intent (Intent.ACTION_VIEW, uri);
intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
intent.setDataAndType(uri, "text/html");
startActivity(intent);
Оно работает.
Но я не использую Android SDK. Я использую Phonegap для моего приложения. Поэтому я ищу способ начать это намерение. Я нашел этот плагин: https://github.com/borismus/phonegap-plugins/tree/master/Android/WebIntent/
Но это не позволяет "setClassName", "setDataAndType"....
Есть идеи?
Если вы просто хотите загрузить URL-адрес в браузере Android, вы должны просто использовать плагин ChildBrowser:
https://github.com/phonegap/phonegap-plugins/tree/master/Android/ChildBrowser
Если вы хотите начать какое-либо намерение, просто сообщите мне, как код Android PhoneGap запускает всевозможные намерения, чтобы получить работу.
Если вы проверите CordovaWebViewClient, есть несколько ури, которые Кордова из коробки.
Если вы не хотите играть с плагинами, вы можете переопределить его и добавить поддержку для разных пользовательских типов uris, которые, в свою очередь, обедали приложением по вашему выбору с параметрами, указанными в uri.
public class CustomWebViewClient extends
org.apache.cordova.CordovaWebViewClient {
public CustomWebViewClient(DroidGap ctx) {
super(ctx);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//Check if provided uri is interesting for us
if (url.startsWith("customUri://")) {
//Get uri params, create intent and start the activity
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
}
Выше класс должен использоваться в основном действии (которое расширяет DroidGap) вашего проекта Android:
@Override
public void init() {
WebView webView = new WebView(this);
CustomWebViewClient webClient = new CustomWebViewClient(this);
CordovaChromeClient chromeClient = new CordovaChromeClient(this);
super.init(webView, webClient, chromeClient);
}
Плагин, который вы упомянули, позволяет обедать намерение, основанное на указанном uri. Например, если вы предоставляете uri, начиная с http://, андроид распознает его как веб-ресурс и попытается запустить доступный браузер. Поэтому, если вы просто хотите запустить браузер, этого вам будет достаточно.