久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: Android開(kāi)發(fā)那些事(二) [打印本頁(yè)]

作者: jiege    時(shí)間: 2014-8-21 03:33
標(biāo)題: Android開(kāi)發(fā)那些事(二)
                                                                                                                                                                       2013/5/5   星期日  傍晚

問(wèn)題產(chǎn)生:

在學(xué)校連WiFi上網(wǎng),有時(shí)信號(hào)不好或者人比較多,Zhbit和Zhbit2就連不上,但是CMCC 和CMCC-Auto通常還能連上,而且速度比前兩個(gè)都快,只是有點(diǎn)不好,每次接上的時(shí)候要申請(qǐng)動(dòng)態(tài)密碼(當(dāng)然也可以用靜態(tài)密碼,就不用每次都輸入,只是我不喜歡把密碼直接記錄在瀏覽器上),申請(qǐng)到的密碼通過(guò)短信發(fā)到手機(jī)上,由于不想打開(kāi)短信,而且信息的內(nèi)容會(huì)在通知欄上顯示,所以每次都在通知欄上看密碼,但是顯示
的時(shí)間很短,大概就一秒鐘,稍不留神就記錯(cuò),而且還要輸入,覺(jué)得特不方便。

問(wèn)題解決:
寫個(gè)小程序,能獲取有動(dòng)態(tài)密碼短信里面的6位WiFi密碼,并復(fù)制到剪貼板上,那樣就能直接在輸入框粘貼密碼就可以了。

分析:
1.發(fā)送WiFi動(dòng)態(tài)密碼的號(hào)碼都是10658029(不知道其他地方會(huì)不會(huì)不一樣),短信格式是:您申請(qǐng)的動(dòng)態(tài)密碼為:XXXXXX  只有密碼   是數(shù)字,那樣提取密碼就很簡(jiǎn)單了。
2. 靜態(tài)注冊(cè)BroadcastReceive廣播時(shí),系統(tǒng)收到短信就會(huì)自動(dòng)調(diào)用訂閱了接收短信的程序,所以不用為程序?qū)戦_(kāi)機(jī)啟動(dòng)。

程序代碼:

activity_main.xml
---------------------------------------------------------------------------------------------------------------------------------------------------------------

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:orientation="vertical"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="歡迎使用本程序!" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="默認(rèn)號(hào)碼為10658029"
        />
    </LinearLayout>




MainAcitiviy.java
---------------------------------------------------------------------------------------------------------------------------------------------------------------


package com.example.getwifipwd;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
               
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}

myBroad.java
---------------------------------------------------------------------------------------------------------------------------------------------------------------

package com.example.getwifipwd;

import android.annotation.SuppressLint;
import android.content.BroadcastReceiver;
import android.content.ClipData;
import android.text.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;


public class myBroad extends BroadcastReceiver {

        // private static final String action =
        // "android.provider.Telephony.SMS_RECEIVED";
        
        @Override
        public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub

                SmsManager sms = SmsManager.getDefault();
                Bundle bundle = intent.getExtras();
                String to = null;
                String Msg = null;

               
                //讀取短信內(nèi)容
                if (bundle != null) {
                        Object[] pdus = (Object[]) bundle.get("pdus");
                        SmsMessage[] messages = new SmsMessage[pdus.length];
                        for (int i = 0; i < pdus.length; i++)
                                messages[ i] = SmsMessage.createFromPdu((byte[]) pdus[ i]);

                        for (SmsMessage message : messages) {
                                Msg = message.getMessageBody();
                                to = message.getOriginatingAddress();
                        }

                        Log.i("手機(jī)號(hào)碼:", to);
                        Log.i("內(nèi)容:", Msg);

                        
                        if (to.equals("10658029")) {
                                String Number = "";

                                //提取短信內(nèi)的動(dòng)態(tài)wifi密碼
                                for (int i = 0; i < Msg.length(); i++) {
                                        if (Msg.charAt(i) >= '0' && Msg.charAt(i) <= '9') {
                                                Number += Msg.charAt(i);
                                        }
                                }

                                if (Number.length() == 6) {

                                        Log.i("密碼", Number);
//                                        復(fù)制到剪貼板
                                        ClipboardManager cmb = (ClipboardManager) context
                                                        .getSystemService(Context.CLIPBOARD_SERVICE);
//                                        ClipData textCD = ClipData.newPlainText("stringText",
//                                                        Number);
//                                        cmb.setPrimaryClip(textCD);
                                        cmb.setText(Number);
                                        Toast.makeText(context, "密碼:" + Number + "已復(fù)制到剪貼板",
                                                        Toast.LENGTH_LONG).show();
                                }
                        }

                }

        }

}

AndroidManifest.xml
---------------------------------------------------------------------------------------------------------------------------------------------------------------
增加接收短信權(quán)限:
<uses-permission android:/>

訂閱廣播:
<receiver android:>

            <intent-filter>
                <action android:></action>

            </intent-filter>
</receiver>



效果:
在Uc瀏覽器上測(cè)試






作者: 紅塵有你    時(shí)間: 2015-12-23 10:55
牛人啊,我還不會(huì)ANDRID啊,高人求教!




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日本免费一级片 | 中文字幕不卡视频 | 97免费在线 | 欧洲一区二区三区 | 午夜无遮挡 | 香蕉视频免费 | 精品欧美黑人一区二区三区 | 蜜桃在线观看视频 | 三年中文在线看免费观看 | 欧美成人一区二区三区 | 超碰av在线 | 奇米av| 精品成人在线 | 日韩一区二区在线视频 | 欧美成人xxx | 日本天堂在线 | 欧美黑人一区二区三区 | 日韩色网站 | av久久久| 精品一区二区三区视频 | 在线观看视频一区二区三区 | av资源在线| 男女啪啪免费 | 国产小视频在线播放 | av手机在线看 | 欧美一区二区三区在线视频 | 一级肉体全黄裸片 | 日韩av中文字幕在线播放 | 久久久国产视频 | 一区二区三区黄色 | 成人免费毛片嘿嘿连载视频 | 亚洲精品a | 亚洲影院av | 久久久综合 | 国产99对白在线播放 | 亚洲一区二区三区在线播放 | 91久久久久久久久 | 国产亚洲欧美在线 | 日韩中文字幕免费 | 日韩伦理在线观看 | 蜜桃一区二区 |