首页 文章

谷歌加上片段登录活动

提问于
浏览
0

你好我有一个问题,在我的应用程序中集成登录google plus . 我称之为活动登录,处理与社交网络的集成 . 我已经整合了facebook的登录代码并且取得了成果,但是当我尝试整合google plus时我没有成功 . 活动由一个片段组成,错误在这里 . 我遵循谷歌的官方指导但无济于事 . 我能做什么?

公共类LoginActivity扩展Activity实现NavigationDrawerFragment.NavigationDrawerCallbacks,ConnectionCallbacks,OnConnectionFailedListener {private NavigationDrawerFragment mNavigationDrawerFragment;

//谷歌加
private ProgressDialog mConnectionProgressDialog;
私人PlusClient mPlusClient;
private ConnectionResult mConnectionResult;
private static final int REQUEST_CODE_RESOLVE_ERR = 9000;
private static final String TAG =“LoginActivity”;

// facebook UiLifecycleHelper
私人UiLifecycleHelper uiHelper;

// metodo回调facebook
private Session.StatusCallback callback = new Session.StatusCallback(){
@覆盖
public void call(会话会话,SessionState状态,异常异常){
}
};

@覆盖
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_login);

mNavigationDrawerFragment =(NavigationDrawerFragment)
. getFragmentManager()findFragmentById(R.id.navigation_drawer);

//设置抽屉 .
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout)findViewById(R.id.drawer_layout));

//Facebook登入
uiHelper = new UiLifecycleHelper(this,callback);
uiHelper.onCreate(savedInstanceState);

//谷歌加
mPlusClient =
新的PlusClient.Builder(this,this,this).setActions(
“http://schemas.google.com/AddActivity”,“http://schemas.google.com/BuyActivity”)
.setScopes(“PLUS_LOGIN”)//空格分隔的范围列表
. Build ();
}

@覆盖
public void onNavigationDrawerItemSelected(int position){
//通过替换片段来更新主要内容
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container,PlaceholderFragment.newInstance(position 1))
. 承诺();
}
public void onSectionAttached(int number){
}

public void restoreActionBar(){
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(真);
actionBar.setTitle( “登录/注销”);
}

@覆盖
public boolean onCreateOptionsMenu(Menu menu){
if(!mNavigationDrawerFragment.isDrawerOpen()){
//仅显示与此屏幕相关的操作栏中的项目
//如果抽屉没有显示否则,让抽屉
//决定在操作栏中显示的内容 .
getMenuInflater() . inflate(R.menu.login,menu);
restoreActionBar();
返回true;
}
return super.onCreateOptionsMenu(menu);
}

@覆盖
public boolean onOptionsItemSelected(MenuItem item){
return super.onOptionsItemSelected(item);
}
@覆盖
public void onStart(){
super.onStart();
}
@覆盖
public void onStop(){
super.onStop();
// Facebook的
uiHelper.onStop();
}
@覆盖
public void onResume(){
super.onResume();
// Facebook的
uiHelper.onResume();
}

@覆盖
public void onPause(){
super.onPause();
// Facebook的
uiHelper.onPause();
}
@覆盖
public void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
// Facebook的
uiHelper.onActivityResult(requestCode,resultCode,data);
//谷歌加
if(requestCode == REQUEST_CODE_RESOLVE_ERR && resultCode == RESULT_OK){
mConnectionResult = null;
mPlusClient.connect();
}
}

@覆盖
public void onDestroy(){
super.onDestroy();
// Facebook的
uiHelper.onDestroy();
}

@覆盖
protected void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
// Facebook的
uiHelper.onSaveInstanceState(outState);
}
//分段******* **
public static class PlaceholderFragment extends Fragment {

private static final String ARG_SECTION_NUMBER =“section_number”;

public static PlaceholderFragment newInstance(int sectionNumber){
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER,sectionNumber);
fragment.setArguments(参数);
返回片段;
}

public PlaceholderFragment(){
}

@覆盖
public View onCreateView(LayoutInflater inflater,ViewGroup容器,
Bundle savedInstanceState){
串messaggioIniziale =“E'admandario registrarsi o effettuare il登录电车Facebook . <BR> <BR>”;
查看rootView = inflater.inflate(R.layout.fragment_login,container,false);
TextView textView =(TextView)rootView.findViewById(R.id.section_label);
textView.setText(Html.fromHtml(messaggioIniziale));

//登录按钮facebook
LoginButton buttonFacebook =(LoginButton)rootView.findViewById(R.id.authButton);
buttonFacebook.setReadPermissions(Arrays.asList( “public_profile”, “电子邮件”));
return rootView;
}
} @Override public void onConnectionFailed(ConnectionResult result){if(mConnectionProgressDialog.isShowing()){
// L'utentehagiàfeartoclic sul pulsante di accesso . Inizia是一个危险的人
// gli errori di connessione . Attendi fino a onConnected()per eliminare la
// finestra di dialogo di connessione .
if(result.hasResolution()){
尝试{
result.startResolutionForResult(this,REQUEST_CODE_RESOLVE_ERR);
} catch(SendIntentException e){
mPlusClient.connect();
}
}
}
mConnectionResult =结果;
}
@Override public void onConnected(Bundle connectionHint){mConnectionProgressDialog.dismiss(); } @Override public void onDisconnected(){Log.d(TAG,“disconnected”); }}

1 回答

相关问题