Я сделал webapp, который отлично работает в мобильном хром, но в хромированном состоянии. Я вижу некоторые проблемы, так что можно вызвать android chrome из приложения вместо webview в приложении.android webview call использовать chrome Browser
Я не мог найти способ сделать это. 1: Я не не волнует, будет ли установлен хром или нет 2: я написал ниже WebView, чтобы открыть локальный HTML WebView, но я вижу несколько JS проблемы с падением сопротивления, который отлично работает в Android Chrome браузер
ниже мой код:
public class MainActivity extends Activity {
private static final String URL = "file:///android_asset/index.html";
private WebView mWebView;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
getWindow().requestFeature(Window.FEATURE_PROGRESS);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
final Activity activity = this;
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 1000);
}
});
mWebView.loadUrl(URL);
}
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
}
Я написал код, который открывает URL-адрес, используя хром-намерение, я могу использовать такой тип функции для использования хром в виде веб-представления.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
String url = "http://www.google.com";
String packageName = "com.android.chrome";
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
browserIntent.setPackage(packageName);
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//Activity context = null;
List<ResolveInfo> activitiesList = getPackageManager().queryIntentActivities(
browserIntent, -1);
if(activitiesList.size() > 0) {
// Found the browser on the device, launch it
startActivity(browserIntent);
} else {
// The browser isn't installed, so we should prompt the user to get
Intent playStoreIntent = new Intent(Intent.ACTION_VIEW);
playStoreIntent.setData(Uri.parse("market://details?id="+packageName));
playStoreIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(playStoreIntent);
}
}
У вас нет гарантии, что устройство установлено хром, поскольку он не является браузером по умолчанию. Даже если у вас есть эта гарантия, вы все равно будете выбирать вещи, которые должен решать пользователь. Лично я думаю, что это плохая идея. Вы можете добавить DESIGNED FOR CHROME или что-то в описание. –
Я не забочусь об этом, просто покажу ошибку, так как большинство новых планшетов или андроидов имеют хромированную установку, что мне делать, пожалуйста, направляйте? – mydeve