我試圖檢查用戶是否啓用/禁用數據漫遊。到目前爲止,我發現的所有情況都是可以使用TelephonyManager.isNetworkRoaming()和NetworkInfo.isRoaming()來檢查用戶是否正在漫遊,但它們不是我需要的。如何以編程方式檢查數據漫遊是否啓用/禁用?
4
A
回答
4
您可以通過請求漫遊開關的狀態
ContentResolver cr = ContentResolver(getCurrentContext());
Settings.Secure.getInt(cr, Settings.Secure.DATA_ROAMING);
參見:http://developer.android.com/reference/android/provider/Settings.Secure.html#DATA_ROAMING
6
基於Nippey的答案,那對我工作的實際代碼的段子:
public Boolean isDataRoamingEnabled(Context context) {
try {
// return true or false if data roaming is enabled or not
return Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.DATA_ROAMING) == 1;
}
catch (SettingNotFoundException e) {
// return null if no such settings exist (device with no radio data ?)
return null;
}
}
2
更新了用於解釋API棄用的函數。現在已替換爲: http://developer.android.com/reference/android/provider/Settings.Global.html#DATA_ROAMING
public static boolean IsDataRoamingEnabled(Context context) {
try {
// return true or false if data roaming is enabled or not
return Settings.Global.getInt(context.getContentResolver(), Settings.Global.DATA_ROAMING) == 1;
}
catch (SettingNotFoundException e) {
return false;
}
}
2
public static final Boolean isDataRoamingEnabled(final Context APPLICATION_CONTEXT)
{
try
{
if (VERSION.SDK_INT < 17)
{
return (Settings.System.getInt(APPLICATION_CONTEXT.getContentResolver(), Settings.Secure.DATA_ROAMING, 0) == 1);
}
else
{
return (Settings.Global.getInt(APPLICATION_CONTEXT.getContentResolver(), Settings.Global.DATA_ROAMING, 0) == 1);
}
}
catch (Exception exception)
{
return false;
}
}
相關問題
- 1. 如何知道漫遊數據是否啓用/禁用?以編程方式
- 2. 如何檢查藍牙是否以編程方式啓用?
- 3. 如何以編程方式檢查熱點是啓用還是禁用?
- 4. 如何以編程方式啓用/禁用移動數據
- 5. 如何啓用漫遊數據programmaticaly?
- 6. 以編程方式檢查在Windows上是否啓用了IPv6
- 7. 以編程方式檢查iPhone是否已啓用GPS
- 8. 是否可以通過編程方式啓用/禁用硬件?
- 9. 以編程方式啓用/禁用Log4jLogger?
- 10. 如何以編程方式檢查是否安裝使用Java
- 11. 如何以編程方式檢查Microsoft.Office.Interop.Excel是否適用於VB?
- 12. 如何以編程方式檢查地理標記是否已啓用?
- 13. 如何以編程方式禁用Ehcache的更新檢查?
- 14. 如何以編程方式檢測在Windows桌面應用程序中是否啓用/禁用javascript? (WebBrowser控件)
- 15. React native - 以編程方式檢查是否啓用了遠程JS調試
- 16. 如何以編程方式在android中啓用/禁用gps和移動數據?
- 17. 如何在rooted android上以編程方式禁用/啓用gps?
- 18. 如何以編程方式啓用/禁用IE代理設置?
- 19. Android如何以編程方式啓用/禁用自動同步
- 20. 如何以編程方式啓用/禁用Windows功能
- 21. 如何以編程方式啓用/禁用Azure功能
- 22. 如何以編程方式啓用和禁用NETWORK_PROVIDER
- 23. 如何以編程方式禁用/啓用UIBarButtonItem
- 24. 如何在Android 4.4中以編程方式啓用/禁用GPS?
- 25. 如何以編程方式測試斷言是否已啓用?
- 26. 如何檢查一個文件是否以編程方式安卓數據庫?
- 27. 如何以編程方式禁用SparkUI?
- 28. 如何以編程方式禁用cookie
- 29. 如何以編程方式檢查EC2實例是否完成重新啓動?
- 30. 如何檢查是否以編程方式請求頁面?
這是_Settings.Global.DATA_ROAMING_從API 17。 – lomza