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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4199|回復: 1
收起左側(cè)

Android開發(fā)那些事(二)

[復制鏈接]
ID:51088 發(fā)表于 2014-8-21 03:33 | 顯示全部樓層 |閱讀模式
                                                                                                                                                                       2013/5/5   星期日  傍晚

問題產(chǎn)生:

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

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

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

程序代碼:

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="默認號碼為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("手機號碼:", to);
                        Log.i("內(nèi)容:", Msg);

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

                                //提取短信內(nèi)的動態(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);
//                                        復制到剪貼板
                                        ClipboardManager cmb = (ClipboardManager) context
                                                        .getSystemService(Context.CLIPBOARD_SERVICE);
//                                        ClipData textCD = ClipData.newPlainText("stringText",
//                                                        Number);
//                                        cmb.setPrimaryClip(textCD);
                                        cmb.setText(Number);
                                        Toast.makeText(context, "密碼:" + Number + "已復制到剪貼板",
                                                        Toast.LENGTH_LONG).show();
                                }
                        }

                }

        }

}

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

訂閱廣播:
<receiver android:>

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

            </intent-filter>
</receiver>



效果:
在Uc瀏覽器上測試





回復

使用道具 舉報

ID:97249 發(fā)表于 2015-12-23 10:55 | 顯示全部樓層
牛人啊,我還不會ANDRID啊,高人求教!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲网站 | 国产成人高清视频 | 精品久久久久久国产 | 欧美日韩淫片 | 国产精品一区二区不卡 | 国产成人精品综合 | av国产精品| aaaa日韩 | 久久久日韩精品一区二区三区 | av看片网站 | 国产一区久久 | 亚洲成人一二区 | 欧美中文字幕一区二区三区亚洲 | 亚州成人| 一区二区三区精品视频 | 国产精品乱码一区二三区小蝌蚪 | 国产一区二区在线免费观看 | 在线欧美一区 | 欧美一区在线视频 | 欧美三区| 自拍偷拍精品 | 欧美日韩在线成人 | 欧美精品中文字幕久久二区 | 一区二区在线不卡 | 亚洲精品久久久久久久不卡四虎 | 91久久久久久久久久久 | 亚洲欧美在线视频 | 久久国产精品久久久久久久久久 | 韩国电影久久 | 精品国产三级 | 国产成人免费一区二区60岁 | 另类专区成人 | 日韩一区二区在线视频 | 99re6在线视频精品免费 | 在线观看中文字幕av | 欧美日韩中文字幕在线 | 黄色毛片免费视频 | 午夜影院在线观看免费 | 欧美黄a | 久久成人18免费网站 | 一级一片在线观看 |