2016-04-26 18 views
-1

アンドロイドアプリでFacebook AppまたはFacebookのページを開こうとしていますが、できません。それは何もしません。ここでAndroidアプリでFacebookアプリケーションを開くにはどうすればいいですか?

はコードです:

public Intent getOpenFacebookIntent(Context context){ 

    try{ 
     context.getPackageManager().getPackageInfo("com.facebook.FacebookSdk", 0); 
     return new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/ID")); 
    } catch (Exception e) { 
     return new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/my_page")); 
    } 
} 

@Override 
public void onClick (View v){ 
    switch (v.getId()) { 
     case R.id.guardar: 
      startActivity(new Intent(this, getOpenFacebookIntent(this))); 
     break; 

誰かが私を助けてくださいことはできますか?

答えて

0

パッケージ名は次のとおりです。

details?id=com.facebook.katana 

チャゲこれ。これに

context.getPackageManager().getPackageInfo("com.facebook.FacebookSdk", 0); 

context.getPackageManager().getPackageInfo("com.facebook.katana", 0); 

EDIT1:

Intent facebookIntent = new Intent(Intent.ACTION_VIEW); 
String facebookUrl = getOpenFacebookIntent(this); 
facebookIntent.setData(Uri.parse(facebookUrl)); 
startActivity(facebookIntent); 
+0

launchFacebook(); ?? – AldoT

+0

パッケージ情報を取得する行の変更は私の答えを参照してください。 –

+0

よろしくお願いいたします。また、startActivityに問題があるようですが、その理由を知っていますか? @jaydroider – AldoT

0

コール:あなたのonClick()メソッド私は、パッケージ名を変更する必要があり

public void launchFacebook() { 
    String urlFb = "fb://page/"+ID; 
    // replace ID with your id 
    Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setData(Uri.parse(urlFb)); 

    PackageManager packageManager = getPackageManager(); 
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent, 
        PackageManager.MATCH_DEFAULT_ONLY); 
    if (list.size() == 0) { 
     final String urlBrowser = "https://www.facebook.com/"+my_page; 
     // relpace my_page with facebook profile page ending 
     intent.setData(Uri.parse(urlBrowser)); 
    } 
    startActivity(intent); 
} 
関連する問題