2015-08-30 230 views
4

我正在试用Digits API通过Twitter在我的Android应用程序上注册用户。目前在我的启动活动中,我会显示一个按钮(com.digits.sdk.android.DigitsAuthButton),要求用户输入他们的电话号码,以便发送确认码。一旦他们输入确认码并通过身份验证,我会在回调方法中收到user_idTwitter数字:如何检查用户是否已经注册

现在,下次如果我点击启动活动中的相同按钮,它将不会显示输入电话号码的选项,而只是返回已注册的相同user_id

我想在Java代码中复制同样的东西,而不需要额外点击com.digits.sdk.android.DigitsAuthButton按钮。我看一些样品,他们使用下面的语句来验证相同:

if (Digits.getSessionManager().getActiveSession() != null) { ... } 

这是足够的,或者我应该使用sharedPreference存储返回user_id与电话号码吗?

回答

1

更新

我个人来说,我使用sharedpreference它很适合我。

,作为“后来在电话号码变更”处理,你可以创建一个注销按钮打开一个preference从真到假。

或者

您就可以在电话号码变更:

TelephonyManager tMgr =  (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE); 
String mPhoneNumber = tMgr.getLine1Number(); 

//Required Permission: 

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
+0

我看看这段代码,这是一个会话记录的成功回调被触发后,可能跟踪登录。我的问题是关于检查注册状态,我发布的作为检查器的片段也来自同一个示例。 – pankaj

+0

所以你需要检查用户是否已经登录,如果是的话,他不会看到登录按钮? –

+0

是的,一种方法是依赖Digits.sessionmanager.getactivesession(),另一种方法是在成功回调被调用后(类似于您所建议的),在我的应用程序中使用sharedpreference。我对使用哪一个感到困惑,以后如何处理电话号码的变化。 – pankaj

0

我知道它的晚,但可能有助于一个beginner.To验证会话已经激活,请把这个代码您认为这一活动中位数电话号码验证按钮被初始化的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(); 
      } 

,只要你想以检索电话号码,然后CAL L:

String phone = Digits.getActiveSession().getPhoneNumber();

相关问题