android4.0 及以上 版本里 ,如果在settings下看不到wifi和bluetooth兩個菜單選項,這是因爲在setting裏,對系統是否有特定的模塊加上了判斷,如果沒有就不顯示。android4.0的模塊判斷函數:getPackageManager().hasSystemFeature(String string).通過該函數判斷系統是否有特定的模塊功能。
例如判斷是否有 wifi 和 藍牙模塊的具體代碼:
getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI);
getPackageManager().hasSystemFe(PackageManager.FEATURE_BLUETOOTH);
PackageManager這些字符串 存在system/etc/permissions/xxxx.xml文件裏,它們一般從/framework/base/data/etc/xxx.xml複製過來。
eg:
PackageManager.java中
從trunk\frameworks\base\data\etc\android.hardware.camera.xml複製。
解決wifi和藍牙不顯示方法:
一、直接把包含對應 feature 的xml文件複製到system/etc/permissions/目錄下,相當於加上系統所具有的具體模塊的功能配置文件;
二、直接把Settings.java(packages/app/Settings/com.android.settings)裏onBuildHeaders裏的updateHeaderList(headers)註釋掉,相當於去掉判斷條件。
======================================================================================================================================
轉載:http://blog.csdn.net/wh_19910525/article/details/8518341