我需要根據手機中插入的SIM運營商來定製我的Android應用的用戶界面。例如,如果我插入airtel,我需要用黃色發射器圖標獲取黃色UI。對於沃達豐我需要紫色的發射器圖標得到紫色的用戶界面。基於網絡運營商的Android用戶界面定製
是否可以根據手機中的操作員指向不同的資源文件夾?或者如何自定義主題?還有其他方法可以實現嗎
我需要根據手機中插入的SIM運營商來定製我的Android應用的用戶界面。例如,如果我插入airtel,我需要用黃色發射器圖標獲取黃色UI。對於沃達豐我需要紫色的發射器圖標得到紫色的用戶界面。基於網絡運營商的Android用戶界面定製
是否可以根據手機中的操作員指向不同的資源文件夾?或者如何自定義主題?還有其他方法可以實現嗎
您可以通過使用獲得承運人的名稱下面的代碼
TelephonyManager manager = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
String carrierName = manager.getNetworkOperatorName();
而且一旦你有名字,你可以使用預定義的名稱字符串比較字符串,然後改變顏色,因此
好的,謝謝。如果我想根據運營商更改整個資源文件夾。那可能嗎? – Ajitha
我不認爲你可以。您必須手動更改所有圖像 –
是的,它只是可能!
首先創建多個佈局xml文件(對於每個操作員)。
然後確定您正在使用哪個操作符。
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String opName = telephonyManager.getNetworkOperatorName();
現在,根據運算符的名稱應用佈局。
if(opName.equals("vodafone")){
setContentView(R.layout.vodafone_layout);
}
使用上面討論的方法中,可以有多個(每操作者潛在不同的佈局結構和部件),用於每個操作員的佈局。如果您只想爲每個運營商更換主題,則在致電setContentView()
之前,更好的方法是使用setTheme()
。
在這裏看看如何獲得載體名稱 - http://stackoverflow.com/questions/29938430/how-to-detect-network-operators-programmatically-on-android – Tasos
看看這個[post](http://androidexample.com/How_to_get_SIM_details_in_android/question_answer.php?view=qad&token=33) – Mohit