使用电话号码注册

时间:2015-09-23 06:05:30

标签: android login server

如何制作Android应用程序,在进入应用程序之前,用户需要输入他/她的电话号码才能登录。在输入他们的电话号码之后,用户接收带有激活码的消息或者例如Viber或Whatsapp工作的呼叫。 我已经知道如何使用电子邮件,密码进行登录/注册,但我不确定用户如何收到带有激活码的消息,并且它与电话号码一起使用。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以将Twilio用于此目的

在后台线程中调用以下calss

public class TwilioTest {

    public static final String ACCOUNT_SID = "XXXXXXXXXXXXXXXXXXXXXXX";
    public static final String AUTH_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXX";

    public TwilioTest(String number, String code) {
        HttpClient httpclient = new DefaultHttpClient();

        HttpPost httppost = new HttpPost(
                "https://api.twilio.com/2010-04-01/Accounts/ACec5a3465a111443de55a79a47b22f4b5/SMS/Messages");
        String base64EncodedCredentials = "Basic "
                + Base64.encodeToString(
                        (ACCOUNT_SID + ":" + AUTH_TOKEN).getBytes(),
                        Base64.NO_WRAP);

        httppost.setHeader("Authorization", base64EncodedCredentials);
        try {

            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("From", "+12568011137"));
            nameValuePairs.add(new BasicNameValuePair("To", number));
            nameValuePairs.add(new BasicNameValuePair("Body",
                    "Welcome to demo app. Your OTP is " + code));

            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            System.out.println("Entity post is: "
                    + EntityUtils.toString(entity));

        } catch (ClientProtocolException e) {

        } catch (IOException e) {

        }
    }

您需要生成随机代码 上面的类有构造函数,它接受数字和四位数代码。

您可以按以下方式调用

ProgressDialog dialog;
dialog = new ProgressDialog(Home.this);
            dialog.setMessage("Sending Message");
            dialog.setCancelable(false);
    new AsyncTask<Void, Void, Void>() {

                                protected void onPostExecute(Void result) {
                                    dialog.cancel();

                                };

                                @Override
                                protected Void doInBackground(Void... params) {
                                    // TODO Auto-generated method stub
                                    new TwilioTest(number, randomCode);
                                    return null;
                                }

                                protected void onPreExecute() {

                                    dialog.show();
                                };
                            }.execute();

完成此操作后,您可以比较已发送和输入的代码。