2014-10-31 3 views
0

모바일 크롬에서는 제대로 작동하는 webapp를 만들었지 만 크롬에서는 약간의 문제가 발생하므로 앱에서 webview 대신 앱에서 android chrome을 호출 할 수 있습니다.android webview call 크롬 사용 브라우저

나는 그것을 할 수있는 방법을 찾지 못했습니다. 1 : 나는 크롬이 설치되어 있는지 여부를 걱정하거나하지 아니 돈 2 : 내가 아래

내 코드입니다 안드로이드 크롬 브라우저에서 잘 작동 내가 드래그 앤 드롭으로 몇 JS 문제를 볼 수 있지만 로컬 HTML 웹보기를 엽니 다 웹뷰 아래에 쓴 :

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

만약 내가 안드로이드 장치로 포장 된 크롬을 원한다면 크롬을 설치하도록 요청할 것입니다. – mydeve

+0

내 2 번째 코드를보십시오. crome 의도를 사용하여 열어 보았지만 사용자가 앱을 열려고 시도하고 크롬이 열려 있습니다. 웹 브라우저로 보지 마십시오. – mydeve

+0

@mour 크롬 브라우저를 webview로 사용하고 싶습니까? 웹 브라우저가 아닌 브라우저입니다. 제대로 작동하는지 확실하지 않습니다. 크롬 의도를 시작하면 전체 브라우저 인 크롬 앱이 열리게됩니다. 횡단 보도를 고려해보십시오. 웹 뷰를 제공합니다. – ashoke