首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的应用程序中的android Facebook链接无法在Facebook应用程序中打开

我的应用程序中的android Facebook链接无法在Facebook应用程序中打开
EN

Stack Overflow用户
提问于 2015-09-22 17:42:35
回答 1查看 2.1K关注 0票数 0

我已经实现了一个webview,我只是在其中加载一个facebook页面。当点击链接(分享或类似)时,它会在网页视图中打开。我想打开facebook应用程序中的链接(如果已安装)。

代码语言:javascript
运行
复制
   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();
            }
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2015-09-22 17:57:20

这对我来说很有效:

转到https://graph.facebook.com/ (例如https://graph.facebook.com/fsintents),使用以下方法复制您的id:

代码语言:javascript
运行
复制
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/a/10213314/5295706

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32713597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档