androidwifi數據
① Android 如何獲取所有的wifi連接歷史記錄
1、首先安卓系統必須root才可以獲取這樣的文件信息。
2、root之後使用Re管理器這樣的軟體。
3、路徑: /data/misc/wifi
4、文件名稱:wpa_supplicant.conf 用文本模式查看
這里就是WIFI鏈接的歷史信息。
② 【Android初級】android掃描WiFi列表的正確用法
最近有個需求,需要做一個掃描WiFi列表的功能,也在網上找了一些資料,但有些資料是有問題的,然後自己摸索了下,總結如下。
本地環境:
AS版本 3.0.1,DEMO APK 的 Min SDK Version 是 API 23,Target SDK Version 是 API 24,Compile SDK Version是 API 26,真機是Android 7.0
1、打開WiFi,並打開定位服務(在設置內找到定位服務-訪問我的位置信息-開啟)
2、在 onCreate 裡面動態申請許可權
String[] PERMS_INITIAL={Manifest.permission.ACCESS_FINE_LOCATION};
requestPermissions(PERMS_INITIAL,127);
3、在 onCreate 裡面注冊廣播
IntentFilter filter =new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(mReceiver, filter);
4、定義 mReceiver
private BroadcastReceivermReceiver =new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
List results =wifiManager.getScanResults();
if (results !=null) {
Log.d(TAG,"results size: " + results.size());
}
}
}
};
5、在layout裡面定義一個Button,點擊後開始掃描
WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
boolean scanResult =wifiManager.startScan(); // 最好檢查下返回值,因為這個方法可能會調用失敗
Log.d(TAG,"scanResult: " + scanResult);
6、在 AndroidManifest.xml 裡面聲明許可權
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
有人可能會有疑問,為什麼在 onCreate裡面動態申請了許可權 ACCESS_FINE_LOCATION,又在 Manifest 裡面重復聲明了一次
經過本地驗證,去掉其中任意一個,都拿不到WiFi掃描結果,也就是 onReceive 方法不會被執行(有不同結論的請留言共同探討)
7、錯誤用法
boolean scanResult =wifiManager.startScan();
List list =wifiManager.getScanResults();
調用 startScan 之後立馬調用 getScanResults,這個時候拿到的WiFi列表是上一次的掃描結果,不是最新的,一定要在廣播接收器裡面獲取掃描結果。
③ Android7.0 WiFi開發獲取列表異常,為什麼獲取了同樣的數據
1、使用Android電源管理widget 從Android 2.1系統開始內置了一個非常強大的帶能源管理widget,通過這個widget你可以快速開啟或者關閉Wi-Fi,藍牙,GPS,同步這些手機耗電大戶,還可 以方便的設定手機屏幕亮度,長按手機屏幕,就可以在widgets目錄選擇啟用。 2、Android手機撥號屏幕 如果你對手機撥號屏幕功能性有特殊要求,Android絕對會滿足你,點擊聯系人列表裡任意一個用戶,按手機menu >選項,裡面有關於單個聯系人的詳細設置。 3、為每個聯系人定製鈴聲 可以為女朋友或者家人設置單 獨的鈴聲,這樣聽到鈴聲就知道誰來電話了。設置方法點擊聯系人列表裡任意一個用戶,然後就可以設置鈴聲。 4、不要把手機鬧鍾(alarm clock)加入進程查殺列表裡這是一個經典的錯誤,很多用戶都喜歡用進程管理程序自動殺掉一些程序以節省電量或者騰出手機內存,不過如果不小心alarm clock進程也殺掉了,後果就是第二天早晨10:30才醒過來驚慌失措的奔向公司。 5、用文件夾組織內容 雖然喬布斯花了很久才決定放開iOS用戶通過文件夾組織內容的許可權,事實上Android從面世開始就支持這個功能,Android文件夾不但支持放入程序圖標,還可以存放通訊錄,甚至升咐facebook聯系人等信息,長按手機屏幕就可以在桌面建立文件夾。 6、重命名文件夾 建立了文件夾後你可能需要修改它的名稱,只需要打開文件夾,長按頂部的名稱就可以調出重命名文件夾的窗口。 7、查看系統日期 Android新用戶可能覺得查看系統日期有點麻煩,其實只要按住屏幕頂部左上方的提醒欄,就會顯示今天的日期,趕快試試吧。 8、掛載你的SD卡 Android系統基於Linux內核,所以使用外部磁碟之前必須要mount掛載後才可以正常使用。使用USB線連接手機和電腦時,手機會提示掛載SD卡,必須點擊完成掛載後才可以在SD卡里拷貝或者刪除數據。 9、設置鍵盤快捷方式 很多用戶迷戀物理全鍵盤的另外一個重要原因就是Android支持大量的鍵盤快捷鍵,通過快捷鍵可以快速調用相關程序,可以在系統設置>應用程序>快速啟動里設置 10、下載更多Android動態壁紙Android 2.1開始系統支持的另外一個功能就是動態壁紙,雖然動態壁紙可能會讓你的手機耗電量增加,不過卻能讓你的手機看起來更酷,如果你喜歡耍酷,在Android Market搜索live wallpaper,會有很多動態壁紙等待你選擇。 11、快速切換主屏 Android系統一般提供5個主屏, 或許你覺得每次滑動手指切換太麻煩,可以按一下home鍵,然後就可以選擇進入特定的主屏,HTC Sense的手機還支持多點觸摸友游調出所有主屏幕供選擇。 12、添加一個快速導航鍵 Android 2.1系統支持用戶建立地圖導航的快捷方式,選擇任意一個導航線路都可以在桌面建立一個快捷菜單,可以在出行前設定好導航的線路,需要時點擊快捷菜單節省時間。 13、設吵告純置雙擊屏幕放大的級別 絕大多數不支持多點觸摸的Android手機,在使用瀏覽器瀏覽網頁時都可以通過雙擊屏幕放大網頁內容,而且你還可以在瀏覽器設置里「默認縮放」選項選擇三種放大級別,這樣每次使用雙擊放大時的效果都不同。 14、改變Android瀏覽器字體 Android手機終端千差萬別,不同屏幕和解析度的手機最佳的瀏覽字體都不同,只需要在瀏覽器設置里設置合適的字體大小,就可以提高閱讀效率。 15、搜索網頁特定內容 在瀏覽器設置>更多>查找 選項可以用來搜索網頁內容里的特定欄位,幫助你快速查找相關內容,這也是PC瀏覽器的標准功能之一。 16、語音輸入 Android 2.1系統開始支持語音輸入功能,雖然處理起來有些延時,如果你勤加練習還是可以做到基本正確輸入,這對練習英語口語的同學也是一條途徑。 17、Android字典造詞功能 在使用Android鍵盤輸入一個特定詞語時,你可以長按它然後選擇添加到建議詞語區域,這樣就可以把這個詞加入Android字典,下次輸入時只需打入前幾個字目就可以調出這個詞。 18、同步手機照片到Picasa相冊 雖然Google的Picasa網路相冊不 及Flickr受歡迎。不過Android 2.1的3D相冊開始支持自動同步手機照片到Picasa帳戶,不需要第三方軟體就可以設置同步給了很多用戶使用Picasa的理由,不過悲劇的是 Picasa在國內無法正常打開,原因大家都懂的。 19、下載網頁圖片瀏覽網頁時想保存圖片,只要長按圖片就可以單獨保存,保存的圖片可以在相冊程序中查看。 20、管理Android通話記錄 Android通話記錄非常方便,長按任意一條播出或者接入電話記錄就可以選擇刪除,非常easy。 安卓手機使用常見疑難問題: 1.安卓系統 如何找到安裝在內存卡及手機裡面的軟體 在手機菜單-設置-應用程序-管理應用程序-所有應用程序裡面就能看到 2.安卓系統 如何刪除手機及內存卡裡面的軟體 menu----設置------應用程序-----管理應用程序,找到不需要的軟體點擊----再點擊卸載。系統自帶的要刷許可權才能卸載 3.如何安裝並設置輸入法? 主界面=>菜單=>設置=>語音與鍵盤=>勾選新裝的輸入法,以後需要切換輸入法時長按輸入框即可.安卓系統如何切換輸入法 首先需要將您需要切換的輸入法下載在手機上 然後在菜單鍵-設置-語言和鍵盤/或者場所和文本裡面把安裝的輸入法打上勾 然後找個文本輸入框(就是可以輸入文字的窗口),一直點住文本輸入的框,會彈出輸入法,點它,然後選擇你需要輸入法就可以了。 安裝之後如果出現網頁不能縮放則重啟一次 4.如何設置wifi無線網路 主界面=>菜單=>設置=>無線和網路=>勾選WLAN,然後在WLAN設置中搜索到熱點,輸入密碼(有的話) 無線連接一直獲取ip地址的解決辦法:首先 進入你的無線路由器的設定頁面「比方在IE裡面輸入192.168.1.1什麼的 具體看自己的路由器 然後 找到「IP與MAC綁定"----」靜態ARP綁定設置「------再MAC與IP綁定規則那裡根據自己的手機搜索到的IP那個綁定的勾取消掉就可以了。查看手機的IP方法:菜單---設置---無線與網路---WALAN設置---自己鏈接的路由器名稱--出來的界面的最下面IP地址 補充說明下:把所有的 「綁定」全取消,發現手機的IP會變化 全取消就沒有問題了(ps:如果最後還是不能解決,將路由器和手機都恢復下出廠設置,然後再連接,非硬體問題肯定管用!) 5.安卓系統機器如何連接電腦 安卓系統連接電腦分不同的模式,根據需要來選擇,先檢查一下設置:目錄->設置->應用程序->開發->USB調試 選項是否有√選 然後下載以下任意一個驅動。 下載安裝好以後 手機用數據線連接好電腦 就會自動提示連接。然後將手機左上角的USB圖標拖下 HTC手機選擇(磁碟驅動)三星/MOTO及其它機型選擇大容量存儲選擇好後。 手機就會自動連接電腦(不同的系統和版本在連接電腦的方式上有些區別。塞班系統一般連接時自動提示,根據需要選擇相應模式:讀取存儲卡的內容(前提是插了卡,手機自身內存上的文件不能讀取的),選擇大容量模式;連接套件更新地圖之類的,選擇pc套件模式(前提是電腦上已經安裝好對應的軟體)。 安卓系統連接後,有的版本也是會自動提示,對應選擇就可以;如果不提示,一般在手機屏幕左上角往下拉,可以選擇模式。有個別異常情況:連接後顯示僅充電。這個在手機設置,連接電腦pc里找一下,默認連接模式改一下就可以了 ,一般是有磁碟驅動器模式,htc sync模式,僅充電模式,同步模式。經常有客戶反饋,電腦上彈出新硬體,這個一般都是模式沒選擇好) 6.安卓系統安裝軟體方法 方法1.手機里如果已經安裝好文件管理器,可以將需要安裝的文件復制到存儲卡,然後從手機里打開安裝就可以了。 方法2.如果沒有文件管理器,可以先安裝文件管理器然後按方法1來操作,或者直接通過連接電腦來安裝(文件管理器的安裝也是運用此方法)具體連接電腦安裝的方法:電腦上下載91助手/豌豆夾並安裝到電腦, 手機選擇usb調試模式連接電腦,電腦上91助手/豌豆夾識別到手機連接後,在91助手/豌豆夾里左側程序管理,已安裝的程序,添加,找到您需要安裝的軟體打開就會自動安裝。 7.如何安裝在論壇中下載的APK軟體/游戲? 如下步驟:菜單,設置,應用程序,允許安裝未知源,設置為允許;然後用數據線連接手機與電腦,在手機上的彈出菜單中選擇「安裝(有的手機顯示的是『大容量存儲器』),此時手機就充當了讀卡器的作用,在我的電腦中會出現新的盤符,將apk文件復制到存儲卡中,拔下數據線,在手機的文件管理器中瀏覽到你復制到卡中的APK文件,執行即可安裝。
④ Android模擬器模擬基站信息,並將wifi偽造成4g數據信息
許多國產軟體都會使用基站進行定位,android模擬器是沒有流量卡的,所以沒有基站位置,但是我們可以通過Xposed來讓模擬器擁有指定的基站信息。擁有基站信息的模擬器就可以在地圖app中定位了,這種方式比通過hook修改經緯度要更加好一點,可能大多數軟體都是基站來判斷,而不是經緯度。
基站定位使用到如下概念
通過telephonyManager # getNetworkOperator()獲取得到,它返回一個字元串長度為5的值,前3位就是MCC ,後兩位為MNC
接下來就是我們Xposed出場的時候了,通過真機運行BaseStationInfoDemo項目(包含上面這些方法)得到真實數據信息。將數據記錄並運行HookCellInfoDemo項目(修改了模擬器的基站信息),然後在模擬器上運行BaseStationInfoDemo項目,觀察日誌輸出,並可以在模擬器上打卡網路地圖等地圖軟體觀察當前位置。
getCellLocationMethodHook的實現如下:
就是在beforeHookedMethod中直接通過setResult將新建的帶有基站LAC和CID信息的GsmCellLocation 返回。
首先看下源碼中NerworkInfo類的實現方式,發現其是一個實現了Parcelable介面的序列化對象,它擁有多個成員變數,這里只需要修改6個,其他的在wifi或者4g網路的情況下的值不變
這樣的話,最終模擬器的網路情況是有wifi圖標,但是在指定包名內獲取到的網路類型和NetworkInfo卻是4g類型的數據,符合我們的業務需求。
附上源碼地址: https://github.com/carrys17/CellInfo
裡面的兩個文件夾分別就是BaseStationInfoDemo項目和HookCellInfoDemo項目
⑤ 安卓手機怎麼加強wifi信號
這個無法增強。Wi-Fi信號增強,在我的認知中有三種方式一種是提高Wi-Fi的發射功率。另一種是提高接收的功率。第三種就是環境問題減少環境對信號的影響。除了第三種你基本都辦不到,第三種最好的方式是移動路由器擺放位置,要麼就'就是破壞手機後蓋,讓信號更順暢。都不現實,最現實的是你再買個路由器。