作者chingyue (ChingYue)
看板AndroidDev
标题[问题] 使用FB登入後如何显示资料
时间Mon Jul 31 18:34:45 2017
各位前辈好!
小弟最近在练习FB SDK中的登入功能
先附上程式码:
http://codepad.org/202R9AMH
onCreate程式码(图):
http://i.imgur.com/Ukn9pjf.jpg
APP执行画面
1:登入前:
http://i.imgur.com/Lxc6x1n.jpg
2:登入确认画面:
http://i.imgur.com/26vmue9.jpg
3:登入後:
http://i.imgur.com/8mI0jcr.jpg
4:登出画面:
http://i.imgur.com/98zomPS.jpg
小弟有些问题需要麻烦各位前辈帮忙解惑
1:只有在使用新模拟器,第一次登入时需要输入帐号密码
接下来就算登出,重新登入,都会直接跳到登入确认画面
请问要如何才能在登出後,清除纪录,避免每次都登入重复帐号
2:小弟看到文章说可以用
Log.d("FB",object.optString("name"));
读出想要的资料
然後送出request
可是我的执行结果却没有显示出我想读取的资料
请问该如何直接在APP上面显示我想读取的资料(EX:姓名,FB ID等)
恳请各位前辈不吝赐教!
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.59.114
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1501497289.A.8CC.html
1F:→ gcobc12632: 登出是用这个?LoginManager.getInstance().logOut(); 07/31 18:43
谢谢您! 我会去尝试看看!
您好
小弟修改後,登出按钮会变成登入
但是案登入後一样会直接登入第一次的帐号
没办法重新帐号密码
我是将程式码放到这里
protected void onResume() {
super.onResume();
LoginManager.getInstance().logOut();
};
不知道是不是我这样修改有错?
2F:→ cf1064: 你只跟他要email权限,我不确定这样是否可以取得名字 07/31 21:05
谢谢您! 我刚刚有将email改成public_profile
可是依然没有显示出名称等
※ 编辑: chingyue (122.116.59.114), 08/01/2017 09:53:49
3F:→ abcd99887: "email"改成{"email","name","id"}试试看?? 08/01 13:15
谢谢您! 我刚刚将完後会出现错误,错误图:
http://i.imgur.com/uAeGwMH.jpg
※ 编辑: chingyue (122.116.59.114), 08/01/2017 15:48:11
4F:→ abcd99887: 应该是name不合法 08/01 16:58
谢谢您! name包在public_profile里面
我有将email改成public_profile过
可是依然是没有资料
※ 编辑: chingyue (122.116.59.114), 08/01/2017 17:05:52
谢谢您! 我将程式码改为String id = object.optString("id");後
依然没有办法显示出来
所以我尝试将结果显示到TextView上面
结果app都没办法开启了....
错误图:
http://i.imgur.com/jNXuZps.jpg
※ 编辑: chingyue (122.116.59.114), 08/01/2017 19:29:40
8F:→ rin841005: 看log 08/01 20:57
抱歉,小弟第一次接触Android
一切都是上网边看边试
我刚刚有打开Android Monitor看error那些
可是他一次跳出的讯息量太大了
我无法理解
我会再慢慢一行一行的新增/修改看看
谢谢您
9F:推 ckp4131025: userid:loginResult.getAccessToken().getUserId() 08/01 21:36
10F:→ ckp4131025: name:Profile.getCurrentProfile().getName() 08/01 21:37
11F:→ ckp4131025: id也可以:Profile.getCurrentProfile().getId() 08/01 21:38
12F:→ ckp4131025: url:Profile.getCurrentProfile().getLinkUri() 08/01 21:38
谢谢您 现在是我想要显示出来的时候
APP都会直接崩溃 所以没办法测试到底有没有成功
我再慢慢尝试修改看看
※ 编辑: chingyue (122.116.59.114), 08/02/2017 14:53:58
13F:推 ckp4131025: crash可能是有null,检查一下profile有没有get到东西 08/02 16:45
14F:→ cf1064: 把mtextview. settext那删掉应该就不会闪退了? 08/03 00:34
15F:推 cf1064: 你的LoginManager.getInstance().logOut();应该放在onCrea 08/03 00:45
16F:→ cf1064: te里面,让他每次启动app时先登出 08/03 00:45
谢谢您!
我的那一串好像原本就放在<application了
我明天会试看看登出
我会加mtextview. settext
是因为想要显示出收到的资料
如果删掉
不就没有办法显示出收到的资料了吗??
※ 编辑: chingyue (122.116.59.114), 08/03/2017 19:26:35
19F:→ cf1064: 改像我上面写的那样应该就可以了 08/03 20:43
20F:→ cf1064: 因为你在oncreate外去findview所以会产生错误 08/03 20:44
21F:→ cf1064: 另外如果你登入的方式是透过app的话(按下登入时是启动app) 08/03 21:00
22F:→ cf1064: 他的logout应该是不会有效果出现,除非你把app中的帐号登 08/03 21:00
23F:→ cf1064: 出 08/03 21:00
25F:→ cf1064: 如果你登入时他像上面的图弹这个视窗,那代表不是透过fb 08/03 21:03
26F:→ cf1064: app做登入,那你没有加logout那行也没差,每次都要登入 08/03 21:03
28F:→ cf1064: 如果你的登入是成功的,在右上那打"FB",应该会看到如上图 08/03 21:11
29F:→ cf1064: 红框处的帐号资讯,然後就可以放在你的TextView里 08/03 21:12
32F:→ cf1064: 刚上面两张图贴错了,补图Y 08/03 21:13
非常谢谢您! 小弟受教了!
※ 编辑: chingyue (122.116.59.114), 08/04/2017 17:26:32