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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4089|回復: 1
打印 上一主題 下一主題
收起左側

Android開發那些事(二)

[復制鏈接]
跳轉到指定樓層
樓主
ID:51088 發表于 2014-8-21 03:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                                                                                                                                                                       2013/5/5   星期日  傍晚

問題產生:

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

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

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

程序代碼:

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;

               
                //讀取短信內容
                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("內容:", Msg);

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

                                //提取短信內的動態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
---------------------------------------------------------------------------------------------------------------------------------------------------------------
增加接收短信權限:
<uses-permission android:/>

訂閱廣播:
<receiver android:>

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

            </intent-filter>
</receiver>



效果:
在Uc瀏覽器上測試





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:97249 發表于 2015-12-23 10:55 | 只看該作者
牛人啊,我還不會ANDRID啊,高人求教!
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91国自视频 | www.三级| 欧美黄色大片在线观看 | 久久成人精品 | 99精品福利视频 | 婷婷去俺也去 | 日日操夜夜干 | 国产精久久久久久久妇剪断 | 亚洲网站在线播放 | 国产精品自产av一区二区三区 | 中文字幕亚洲欧美日韩在线不卡 | www.日本三级 | 色狠狠一区 | 亚洲成av片人久久久 | 99久久中文字幕三级久久日本 | 精品国产欧美一区二区三区成人 | 日韩午夜一区二区三区 | 国产综合久久久久久鬼色 | 免费国产精品久久久久久 | 国产一区二区三区在线视频 | 国产91久久久久久久免费 | 成人一级黄色毛片 | 人人做人人澡人人爽欧美 | 午夜亚洲 | 精品99爱视频在线观看 | 自拍偷拍亚洲视频 | 超碰8 | 国产综合久久久久久鬼色 | 欧美亚洲另类在线 | 亚洲精品国产精品国自产在线 | 亚洲性人人天天夜夜摸 | 日本a∨精品中文字幕在线 亚洲91视频 | 亚洲欧洲中文 | 全部免费毛片在线播放网站 | 亚洲视频在线观看免费 | 亚洲一区二区三区在线播放 | 91精品国产91久久久久久 | 9999在线视频| 色婷婷精品 | 视频一区二区在线 | 精品国产伦一区二区三区观看说明 |