Salve a tutti, ho una domanda: Posso Modificare e se si come? Il file MainActivity.java di un app con WebView, in modo che apra il collegamnto nel Browser invece che nell'app stessa??
Ecco il codice attuale:
codice:
package com.weblinkview.mia;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.appppp.com.R;
public class AboutActivity extends SherlockFragmentActivity {
private static WebView webview;
private static ProgressBar bar;
private final static String url = "https://linkesternochevoglioaprie.com";
public static class WebviewFragment extends SherlockFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
try {
View v = inflater.inflate(R.layout.activity_webview, container,
false);
webview = (WebView) v.findViewById(R.id.webView1);
bar = (ProgressBar) v.findViewById(R.id.load);
loadUrl();
return v;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private void loadUrl() {
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webSettings.setAppCacheMaxSize(1024 * 1024 * 8);
final SherlockFragmentActivity activity = getSherlockActivity();
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int progress) {
if (progress == 100) {
bar.setVisibility(View.GONE);
webview.setVisibility(View.VISIBLE);
}
}
});
webview.setWebViewClient(new WebViewClient() {
public boolean onCreateWindow(WebView view, boolean dialog,
boolean userGesture, android.os.Message resultMsg) {
WebView.HitTestResult result = view.getHitTestResult();
String data = result.getExtra();
Context context = view.getContext();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri
.parse(data));
context.startActivity(browserIntent);
return false;
}
});
webview.loadUrl(AboutActivity.url);
}
}
}
Io ho fatto esperimenti, essendo alle prime armi.. ma nulla