2016-03-11 64 views
0

解決如何從MyApp的Android版中開啓網頁在瀏覽應用程序URL

我想在Android平板電腦的網頁瀏覽器應用程序中打開特定的URL。 Web瀏覽器應用程序將從MyApp打開。 MyApp是webkit Android應用程序,我可以通過服務器站點上的jsp或js文件進行編輯。我沒有任何MyApp的來源。 如何從MyApp在Web瀏覽器中打開URL?

感謝您的理解

[解決方法]

有沒有辦法如何解決這個問題。移動設備中的Android應用只能通過另一個擁有專有方法和功能的Android應用進行控制。 JS或任何其他方式不能使用Android功能。

我只是沒有自己解決這個問題,我問MyApp的開發者編輯他的應用程序。

+0

你能發佈一些代碼嗎? – user3641702

回答

1

在佈局文件中添加一個webview。使用下面的代碼加載URL

WebView web = (WebView) findViewById(R.id.web); 
ProgressDialog progressBar = new ProgressDialog(Activity.this); 
progressBar.setMessage("Loading"); 

web.setWebViewClient(new WebViewClient() { 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    view.loadUrl(url); 
    return true; 
} 

public void onPageStarted(WebView view, String url, Bitmap favicon) { 
    progressBar.show(); 
} 

public void onPageFinished(WebView view, String url) { 
    if (progressBar.isShowing()) { 
     progressBar.dismiss(); 
    } 
} 

public void onReceivedError(WebView webView, int errorCode, 
          String description, String failingUrl) { 

    super.onReceivedError(webView, errorCode, description, failingUrl); 
    try { 
     webView.stopLoading(); 
    } catch (Exception e) {// 
    } 
    if (webView.canGoBack()) { 
     webView.goBack(); 
    } 
    AlertDialog alertDialog = new AlertDialog.Builder(Activity.this).create(); 
    alertDialog.setTitle("Error"); 
    alertDialog.setMessage("Cannot connect to the Server." + 
      " Check your internet connection and try again."); 
    alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, 
      "Try Again", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        finish(); 
        startActivity(getIntent()); 
       } 
      }); 
    alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        finish(); 
       } 
      }); 
    if (progressBar.isShowing()) { 
     progressBar.dismiss(); 
    } 
    alertDialog.show(); 
} 
}); 

web.loadUrl("your_url"); 
+0

我無法編輯MyApp。我沒有MyApp的源代碼。我只能使用JS。所以有可能從JS函數調用intent? – Stepan

0

使用此代碼在您的應用程序..

Intent browserIntent = new 
Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com")); 
startActivity(browserIntent); 

As for the missing "http://" I'd just do something like this: 

if (!url.startsWith("http://") && !url.startsWith("https://")) 
url = "http://" + url; 
+0

我無法編輯MyApp。我沒有MyApp的源代碼。我只能使用JS。所以有可能從JS函數調用intent? – Stepan

相關問題