2015-09-23 3 views
1

Как можно сделать приложение для Android и перед входом в приложение пользователю необходимо ввести свой номер телефона для входа. После ввода своего номера телефона пользователь получает сообщение с кодом активации или вызовом, например, например, Viber или Whatsapp. Я уже знаю, как сделать вход/регистрацию по электронной почте, паролю, но я не уверен, как пользователь может получить сообщение с кодом активации и что он работает с номером телефона.Зарегистрируйте номер телефона

Заранее спасибо.

+0

Используйте услугу, такую ​​как Twillio или Voxeo. Это не единственные. Таких услуг много. Я не рекомендую конкретный. –

+0

найти эту ссылку, это может быть полезно http://www.androidhive.info/2015/08/android-adding-sms-verification-like-whatsapp-part-1/ – dileep

+0

как @StephanBranczyk, когда пользователь вводит номер телефона при нажатии из регистра вызовите одну из вышеперечисленных служб, которая будет отправлять сообщение параллельно с отображением экрана пользователя на проверку ... однажды сообщение приходит в приемник широковещательной рассылки, чтобы читать сообщение и заполнять его на экране проверки – virendrao

ответ

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(); 

Вы можете сравнить код посланный и вошел, как только это будет сделано.

Смежные вопросы