2016-08-13 57 views
0

我從2個活動以相同的方式調用ShareDialog:MainActivity和ReleaseActivity,但行爲不同:從MainActivity我共享到facebook應用程序,但是從ReleaseActivity無法做到這一點。 回調趕上結果(測試)Facebook ShareDialog是從一個活動顯示的,但不是從另一個活動顯示

callbackManager = CallbackManager.Factory.create(); 
    shareDialog = new ShareDialog(this); 
    shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { 
     @Override 
     public void onSuccess(Sharer.Result result) { 
      Log.d("Tracing", "ReleaseActivity 63 onSuccess"); 
     } 

     @Override 
     public void onCancel() { 
      Log.d("Tracing", "ReleaseActivity 68 onCancel"); 
     } 

     @Override 
     public void onError(FacebookException e) { 
      Log.d("Tracing", "ReleaseActivity 74 onError " + e.toString()); 
      e.printStackTrace(); 
     } 
    }); 

代碼ShareDialog:

if (ShareDialog.canShow(ShareLinkContent.class)) { 
     Log.d("Tracing", "ReleaseActivity 100 facebookOnClick"); 
     ShareLinkContent linkContent = new ShareLinkContent.Builder() 
       .setContentTitle("Test title") 
       .setContentDescription(
         "Test text-description") 
       .setContentUrl(Uri.parse("http://developers.facebook.com/android")) 
       .build(); 

     shareDialog.show(linkContent); 
     Log.d("Tracing", "ReleaseActivity 110 facebookOnClick"); 
    } 

    Log.d("Tracing", "ReleaseActivity 111 facebookOnClick end"); 
}; 

在這兩個活動按在MainActivity Facebook的窗口彈出Facebook的按鈕,我看到日誌中ShareDialog的代碼,之後,但不在ReleaseActivity中。

我沒有看到Facebook窗口,但按下facebook按鈕後,我按下android概述按鈕查看啓動的應用程序,並看到facebook應用程序(與黑屏),當我按下這個facebook黑屏幕消失。 https://www.dropbox.com/s/sn0tlqhgce5za7o/fc.jpg?dl=0

回調僅在MainActivity中顯示結果。 Android SDK 4.14.1

爲什麼它在一種情況下工作,不在另一種情況下工作?該怎麼辦?

回答

0

我不知道爲什麼,但它開始時,我寫了 class ReleaseActivity extends BaseActivity爲MainActivity了,而不是 class ReleaseActivity extends Activity BaseActivity工作:class BaseActivity extends AppCompatActivity

因此,擴展AppCompatActivity的類與Facebook SDK協同工作,並且不這樣做的類 - 不起作用。

相關問題