2015-09-26 66 views
0

我已经开始了我的最后一年的android项目,我想知道用户何时按下按钮,你怎么能打开,例如,Facebook应用程序,如果用户没有安装Facebook应用程序,他们会被重定向到他们的浏览器中的m.facebook.com?打开Android应用程序或URL

谢谢先进。

+0

刚用网址准备一个意图。如果安装了facebook应用程序,则会询问用户是否要使用该应用程序或浏览器来打开它。 – Henry

回答

0

您可以使用Try/Catch来处理它。如果Facebook应用程序已安装,fb:// page/123链接将在应用程序中打开。否则,Catch代码将运行。

 @Override 
     public void onClick(View v) { 
      try { 
       startActivity(new Intent(Intent.ACTION_VIEW, Uri 
         .parse("fb://page/12345"))); //12345 is Facebook page number 
      } catch (Exception e) { 
       //open link in browser 
       startActivity(new Intent(Intent.ACTION_VIEW, Uri 
         .parse("http://m.facebook.com/etc"))); 
      } 
     } 
+0

这就是我所做的,尽管我已经安装了应用程序,它似乎仍然可以打开URL。 '\t \t \t \t尝试{ \t \t \t \t \t startActivity(新意图(Intent.ACTION_VIEW,Uri.parse( “com.webmd.android”))); \t \t \t \t}赶上(例外五){ \t \t \t \t \t //浏览器 \t \t \t \t \t startActivity(新意图(Intent.ACTION_VIEW,Uri.parse(“HTTP打开链接://症状。 webmd.com/default.htm#introView“))); \t \t \t \t}' – seamus911

0

可以检查包(Facebook的应用程序)是否安装或者不在设备从herehere,如果安装了它,你可以IntentUri其他意向Activity包含WebView嗯,我没有用Facebook的意图,但我已经在我的项目,您可以使用ActivityNotFoundException没有找到Exception变化URI的Skype与Facebook一个如.. 使用Skype(脸谱://facebook.com/inbox)

@Override 
public void onClick(View v) { 
    try { 
    Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("skype:"+skype+"?call")); // place your facebook uri here 
    startActivity(myIntent); 
    } catch (ActivityNotFoundException e) { 
      //--- intent your url here which will be redirected to webview if facebook app is not installed.. 
    } 
} 
+0

这就是我所做的,尽管我已经安装了应用程序,但它似乎仍然打开URL。 '尝试{ \t \t \t \t \t意图myIntent =新意图(Intent.ACTION_VIEW, Uri.parse( “com.webmd.android”)); //将你的Facebook uri放在这里 startActivity(myIntent); \t \t \t \t}赶上(例外五){ \t \t \t \t \t \t \t \t \t \t //在浏览器中打开链接 \t \t \t \t \t startActivity(新意图(Intent.ACTION_VIEW,Uri.parse( “http://symptoms.webmd.com/default.htm#introView”))); \t \t \t \t}' – seamus911

+0

我已编辑答案...您可以检查应用状态 – Mohit

相关问题