5 0上禁用手機移動資料上網調研

2021-07-10 16:25:53 字數 1301 閱讀 4221

背景:

在4.4以及之前的手機,可以通過反射呼叫connectivitymanager#setmobiledataenabled()設定手機是否允許使用手機流量上網。

而到了5.0+,這個api已經被移除了。主要就是為了調研在5.0上如何實現,算是乙個小調研吧。

調研結果:

在5.0上,取而代之的是telephonymanager#setdataenabled(),並且需要系統簽名才能實現。

對應的api:

/** @hide */

@systemapi

public void setdataenabled(boolean enable) catch (remoteexception e)

}

telephonymanager service是在com.android.phone這個程序中實現的,

具體的實現原始碼:

83 public class phoneinte***cemanager extends itelephony.stub else

1948 }

...............*

enforcemodifypermission()這個函式會檢查掉呼叫者是否有modify_phone_state許可權。

這個許可權的申明如下:

可以它這個許可權是乙個系統級的許可權,也就是需要

android

:shareduserid=

"android.uid.system"之後才能使用。

這也是造成我們需要系統簽名的原因。

對比看了4.4的原始碼,它檢查的是乙個普通的許可權:change_network_state:

對比看一下4.4上的禁用實現:

public void setmobiledataenabled(boolean enabled)

private void enforcechangepermission()

1679 *

最後,整合後的**:

public boolean setmobiledataenable(boolean enable)  catch (exception e) 

}

在移動資料環境下,使用手機抓包http協議

1 tcpdump 抓取網路資料報並對其分析的工具 2 使用條件 必須是root過的手機。可使用root精靈軟體root,一次不成功,一般再試一次,二三次即可成功 也可以針對不同的手機在google官網上搜尋 root 手機型號,搜尋到特定機型的root方法 3 使用步驟 adb push tcpd...

上幾張海信5G手機F50的實拍樣片,這效果令人驚豔

今年orqtzokr開始,手機市場全面向5g過渡,5g手機市場百花齊放,海信推出的旗下首款5g手機f50,極速5g體驗 超大電池容量,拍照實力也著實令人驚喜。海信5g手機f50 搭載的是紫光展銳虎賁t7510 5g晶元,相機配置的是 4程式設計客棧800 萬主攝 200 萬景深 800 萬廣角 20...

手機資料線連線不上電腦怎麼辦?

現在手機是每個人必備的用品,安卓系統的較多,剛買手機的時候,出現了這樣的乙個問題手機資料線連線不上電腦,過朋友後,了解到,手機連線電腦是需要軟體和驅動的,還需要調節手機系統,在網上找到了很多總造成連線不上的原因,整理出來,今天就向大家介紹手機資料線連線不上電腦時該怎麼辦?1判斷手機。首先要看看自己使...