2014-10-31 3 views
0

Я сделал 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); 
     } 


    } 
+0

У вас нет гарантии, что устройство установлено хром, поскольку он не является браузером по умолчанию. Даже если у вас есть эта гарантия, вы все равно будете выбирать вещи, которые должен решать пользователь. Лично я думаю, что это плохая идея. Вы можете добавить DESIGNED FOR CHROME или что-то в описание. –

+0

Я не забочусь об этом, просто покажу ошибку, так как большинство новых планшетов или андроидов имеют хромированную установку, что мне делать, пожалуйста, направляйте? – mydeve

ответ

1

Вы можете рассмотреть вопрос об использовании Crosswalk android webview, который основан на тех же основных двигателей, как хром/хром.

Упаковано с вашим APK, поэтому оно самодостаточно; Вам не нужно устанавливать хром.

supposed to give you better performance than standard webview, with more built-in features.

Вот hello world to get you started

+0

что, если я хочу хром, упакованный с устройством Android, я предпочел бы просить пользователя установить хром, если у него его нет – mydeve

+0

см. Мой второй код, я попробовал открыть его, используя намерение crome, но пользователь выходит из приложения и открывается хром, я хочу посмотрите, как веб-браузер не открывается браузер – mydeve

+0

@mour, поэтому вы хотите использовать Chrome-браузер как веб-просмотр? Это браузер, а не веб-просмотр, не уверен, что это сработает. Если вы начнете использовать хром, это приведет к открытию хром-приложения, которое является полным браузером. Рассмотрим Crosswalk, он предоставляет вам веб-обзор. – ashoke

Смежные вопросы