我已经实现了一个webview,我只是在其中加载一个facebook页面。当点击链接(分享或类似)时,它会在网页视图中打开。我想打开facebook应用程序中的链接(如果已安装)。
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View layoutProgressWebview = inflater.inflate(R.layout.fragment_webview,container,false);
progressDialog = new ProgressDialog(getActivity().getApplicationContext());
progressDialog.setMessage("Loading...");
webView = (WebView) layoutProgressWebview.findViewById(R.id.webView);
webView.setWebChromeClient(new ArticleWebChromeClient());
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
webView.getSettings().setUserAgentString(userAgent);
webView.getSettings().setJavaScriptEnabled(true);
Bundle args = getArguments();
String resourceUrl = args.getString(ARG_URL);
webView.loadUrl(resourceUrl);
return layoutProgressWebview;
}
private class ArticleWebChromeClient extends WebChromeClient {
public void onProgressChanged(WebView view, int progress) {
if (progress == 100) {
if (progressDialog != null)
progressDialog.dismiss();
}
}
}发布于 2015-09-22 17:57:20
这对我来说很有效:
转到https://graph.facebook.com/ (例如https://graph.facebook.com/fsintents),使用以下方法复制您的id:
public static Intent getOpenFacebookIntent(Context context)
{
try
{
context.getPackageManager().getPackageInfo("com.facebook.katana",0);
return new Intent(Intent.ACTION_VIEW,Uri.parse("fb://page/<id_here>"));
}catch (Exception e)
{
return new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/<user_name_here>"));
}
}这将打开Facebook应用程序(如果用户已安装它)。否则,它将在浏览器中打开Facebook。
https://stackoverflow.com/questions/32713597
复制相似问题