<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Android在應用注冊的時候經常要用到短信驗證,通過發短信給用戶,并讓用戶將短信中的驗證碼填到注冊頁面中方能注冊成功。如下圖所示: ![](https://box.kancloud.cn/2016-04-08_570771b47b88b.jpg) 獲取到短信如下: ![](https://box.kancloud.cn/2016-04-08_570771b491ac7.jpg) 本文是能過第三方平臺掌淘科技來實現免費短信驗證。首先到注冊一個賬號,網址是[http://mob.com/](http://mob.com/);注冊完后就可以得到appkey和appsecret,如下圖: 點擊進入后就能看到自己的appkey和appsecret。接下來就要導入免費短信驗證的sdk,同樣在那個網站上下載。下載完后把文件夾MSMSDK文件導入到eclipse中,把它作為一個library導入到你的工程中,接下來就是代碼的實現。 1.在AndroidMainfest導入權限: ~~~ <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ~~~ 2.在application中加入如下的activity聲明: ~~~ <activity android:name="cn.smssdk.SMSSDKUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize" /> ~~~ 3.實現注冊頁面的xml,如下,主要就是兩個文本框和一個登錄按鈕。 ~~~ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:paddingLeft="10.0dip" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="30.0dip"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <RelativeLayout android:orientation="vertical" android:paddingLeft="10.0dip" android:paddingTop="20.0dip" android:paddingRight="10.0dip" android:paddingBottom="20.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/table_top_xml"> <EditText android:id="@+id/register_username" android:textSize="15.0sp" android:textColor="#000000" android:gravity="center_vertical" android:background="@null" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10.0dip" android:layout_marginRight="30.0dip" android:hint="手機號" android:singleLine="true" android:layout_centerVertical="true" /> </RelativeLayout> <RelativeLayout android:orientation="vertical" android:paddingLeft="10.0dip" android:paddingTop="15.0dip" android:paddingRight="10.0dip" android:paddingBottom="15.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/table_middle_xml"> <EditText android:id="@+id/register_yanzhengma" android:textSize="15.0sp" android:gravity="center_vertical" android:background="@null" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10.0dip" android:layout_marginRight="30.0dip" android:hint="驗證碼" android:singleLine="true" android:layout_centerVertical="true" /> <TextView android:textSize="13.0sp" android:textColor="#ffd74623" android:id="@+id/register_getyanzhengma" android:background="@drawable/btn_register" android:paddingLeft="10.0dip" android:paddingTop="5.0dip" android:paddingRight="10.0dip" android:paddingBottom="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="獲取" android:singleLine="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" /> </RelativeLayout> <Button android:id="@+id/register_ok" android:layout_width="match_parent" android:layout_height="50.0dp" android:layout_marginTop="20dp" android:background="@drawable/login_try_btn" android:gravity="center" android:text="注 冊" android:textColor="@android:color/white" android:textSize="18sp" /> </LinearLayout> </LinearLayout> ~~~ 4.接下來就是在主函數了, ~~~ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); phonEditText=(EditText) findViewById(R.id.register_username); verEditText=(EditText) findViewById(R.id.register_yanzhengma); SMSSDK.initSDK(this,APPKEY,APPSECRET); EventHandler eh=new EventHandler(){ @Override public void afterEvent(int event, int result, Object data) { Message msg = new Message(); msg.arg1 = event; msg.arg2 = result; msg.obj = data; handler.sendMessage(msg); } }; SMSSDK.registerEventHandler(eh); findViewById(R.id.register_getyanzhengma).setOnClickListener(clickListener); } ~~~ 以上SMSSDK.initSDK是引入SMSSDK,APPKEY和APPSECRET寫入你自己的appkey和appsecret。接下來的EventHander主要是獲得SMSSDK的狀態。接下來實現點擊獲取按鈕的監聽事件。 ~~~ OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.register_getyanzhengma: //獲取驗證碼 if(!TextUtils.isEmpty(phonEditText.getText().toString())){ SMSSDK.getVerificationCode("86",phonEditText.getText().toString()); }else { Toast.makeText(MainActivity.this, "電話不能為空", 1).show(); } break; case R.id.register_ok: if(!TextUtils.isEmpty(verEditText.getText().toString())){ SMSSDK.submitVerificationCode("86", phonEditText.getText().toString(), verEditText.getText().toString()); }else { Toast.makeText(MainActivity.this, "驗證碼不能為空", 1).show(); } default: break; } } }; ~~~ 最后就是判斷短信發送所處的狀態。 ~~~ Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); int event = msg.arg1; int result = msg.arg2; Object data = msg.obj; Log.e("event", "event="+event); if (result == SMSSDK.RESULT_COMPLETE) { //短信注冊成功后,返回MainActivity,然后提示新好友 if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {//提交驗證碼成功 Toast.makeText(getApplicationContext(), "提交驗證碼成功", Toast.LENGTH_SHORT).show(); } else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){ Toast.makeText(getApplicationContext(), "驗證碼已經發送", Toast.LENGTH_SHORT).show(); } } else { ((Throwable) data).printStackTrace(); Toast.makeText(getApplicationContext(), "驗證碼錯誤", Toast.LENGTH_SHORT).show(); } } }; ~~~ 以上的實現方式是通過SMSSDK的接口來實現的,如果有興趣可以細讀SMSSDK里的源碼。在此只是把它實現出來。到此一個簡單的注冊短信驗證就實現了。當然短信的格式修改不了。如果要自定義短信格式,那就需要找收費的咯。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看