我想在使用Fabric的Android中的片段中實現twitter登錄按鈕。我在一個活動中使用它,但無法使它在一個片段中工作。Twitter Android登錄/驗證片段
這裏是我TwitterFragment類(擴展片段)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TwitterAuthConfig authConfig = new TwitterAuthConfig(mTWITTER_KEY, mTWITTER_SECRET);
Fabric.with(super.getActivity(), new Twitter(authConfig));
View view = inflater.inflate(R.layout.twitter_fragment, container, false);
loginButton = (TwitterLoginButton) view.findViewById(R.id.twitter_login_button);
loginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
TwitterSession session = result.data;
String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ")";
Toast.makeText(getActivity().getApplicationContext(), msg, Toast.LENGTH_LONG).show();
}
@Override
public void failure(TwitterException exception) {
Log.d("TwitterKit", "Login with Twitter failure", exception);
}
});
return view;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//loginButton.onActivityResult(requestCode, resultCode, data);
Fragment fragment = getFragmentManager().findFragmentById(R.id.twitter_login_button);
if (fragment != null) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}
而且我twitter_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="15dp">
<com.twitter.sdk.android.core.identity.TwitterLoginButton
android:id="@+id/twitter_login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</LinearLayout>
我得到這個在第2行顯示器的
Authorization completed with an error
com.twitter.sdk.android.core.TwitterAuthException: Authorize failed.
任何想法是什麼問題?
謝謝
良好的工作老兄......它正在 –
如何從Twitter獲取電子郵件.. plz幫助我 –
@ExceptionLover使用此代碼從Twitter .TwitterAuthClient authClient =新TwitterAuthClient()獲取電子郵件; authClient.requestEmail(會話,新的回調(){ 覆蓋 公共無效成功(結果結果){// 與做的結果是,它提供了電子郵件地址 } 覆蓋 公共無效失敗中學習(TwitterException例外){ //在失敗時做點事 } }); –