我正在通过Twitter试验Digits API,以便在我的Android应用程序上注册用户。目前在我的启动活动中,我显示了一个按钮(com.digits.sdk.android.DigitsAuthButton
),要求用户输入他们的电话号码,以便发送确认码。一旦他们输入确认码并通过身份验证,我就会在回调方法中收到user_id
。
现在,下次如果我点击启动活动中的相同按钮,它就不会显示输入电话号码的选项,只返回已经注册的user_id
。
我想在我的Java代码中复制同样的东西,而无需额外点击com.digits.sdk.android.DigitsAuthButton
按钮。我查看了一些示例,他们使用以下语句来验证相同的内容:
if (Digits.getSessionManager().getActiveSession() != null) { ... }
这是否足够或我是否应该使用sharedPreference将返回的user_id
与电话号码一起存储?
答案 0 :(得分:1)
<强>更新强>
我个人正在使用sharedpreference
它对我有用..
至于处理“稍后更改电话号码”,您可以创建一个注销按钮,将preference
从true变为false。
或
您可以查看电话号码的变化:
TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
//Required Permission:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
答案 1 :(得分:0)
我知道它很晚但可能对初学者有帮助。要验证会话是否已激活,请将此代码放入您初始化Digits电话号码验证按钮的onCreate
活动中:
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new TwitterCore(authConfig), new Digits.Builder().build());
if (Digits.getActiveSession() != null) {
Intent ss = new Intent(CurrentActivity.this, SecondActivity.class);
startActivity(ss);
finish();
}
无论何时您想要转发电话号码,请致电:
String phone = Digits.getActiveSession().getPhoneNumber();