
我尝试下面的代码,但在导入相应的包时面临问题.
LoginActivity.java
@OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); if (Session.getActiveSession() == null || Session.getActiveSession().isClosed()) { Session.openActiveSession(this,true,new StatusCallback() { @OverrIDe public voID call(Session session,SessionState state,Exception exception) { System.out.println("State= " + state); if (session.isOpened()) { System.out.println("Token=" + session.getAccesstoken()); Request.executeMeRequestAsync(session,new GraphUserCallback() { @OverrIDe public voID onCompleted(GraphUser user,Response response) { if (user != null) { System.out.println("User=" + user); } if (response != null) { System.out.println("Response=" + response); Toast.makeText(MainActivity.this,response.toString(),Toast.LENGTH_LONG).show(); } } }); } if (exception != null) { System.out.println("Some thing bad happened!"); exception.printstacktrace(); } } }); } } @OverrIDe public voID onActivityResult(int requestCode,int resultCode,Intent data) { super.onActivityResult(requestCode,resultCode,data); Session.getActiveSession().onActivityResult(this,requestCode,data); }解决方法 它发生在您身上,因为会话已从新的AndroID SDK 4中删除.因此您无法使用此代码获取用户信息. 尝试使用此代码.这对我来说是成功的.
首先在onCreate中初始化FacebookSdk,然后再选择布局.
FacebookSdk.sdkInitialize(this.getApplicationContext());
loginbutton = (Loginbutton) findVIEwByID(R.ID.login_button);List < String > permissionNeeds = Arrays.asList("user_photos","email","user_birthday","public_profile","Accesstoken");loginbutton.registerCallback(callbackManager,new FacebookCallback < LoginResult > () {@OverrIDe public voID onSuccess(LoginResult loginResult) { System.out.println("onSuccess"); String accesstoken = loginResult.getAccesstoken() .getToken(); Log.i("accesstoken",accesstoken); GraphRequest request = GraphRequest.newMeRequest( loginResult.getAccesstoken(),new GraphRequest.GraphJsONObjectCallback() {@OverrIDe public voID onCompleted(JsONObject object,GraphResponse response) { Log.i("LoginActivity",response.toString()); try { ID = object.getString("ID"); try { URL profile_pic = new URL( "http://graph.facebook.com/" + ID + "/picture?type=large"); Log.i("profile_pic",profile_pic + ""); } catch (MalformedURLException e) { e.printstacktrace(); } String name = object.getString("name"); String email = object.getString("email"); String gender = object.getString("gender"); String birthday = object.getString("birthday"); } catch (JsONException e) { e.printstacktrace(); } } }); Bundle parameters = new Bundle(); parameters.putString("fIElds","ID,name,email,gender,birthday"); request.setParameters(parameters); request.executeAsync(); } @OverrIDe public voID onCancel() { System.out.println("onCancel"); } @OverrIDe public voID onError(FacebookException exception) { System.out.println("onError"); Log.v("LoginActivity",exception.getCause().toString()); }}); 添加方法.
@OverrIDeprotected voID onActivityResult(int requestCode,int responseCode,Intent data) { super.onActivityResult(requestCode,responseCode,data); callbackManager.onActivityResult(requestCode,data);} 总结 以上是内存溢出为你收集整理的无法在android中导入Session,Request,Response,GraphUser包全部内容,希望文章能够帮你解决无法在android中导入Session,Request,Response,GraphUser包所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)