背景:
在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判斷手機。首先要看看自己使...