我試圖檢查用戶是否啓用/禁用數據漫遊。到目前爲止,我發現的所有情況都是可以使用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. 以編程方式檢查在Windows上是否啓用了IPv6
- 6. 以編程方式檢查iPhone是否已啓用GPS
- 7. 是否可以通過編程方式啓用/禁用硬件?
- 8. 以編程方式啓用/禁用Log4jLogger?
- 9. 如何以編程方式檢查是否安裝使用Java
- 10. 如何以編程方式檢查地理標記是否已啓用?
- 11. 如何以編程方式禁用Ehcache的更新檢查?
- 12. 如何以編程方式檢測在Windows桌面應用程序中是否啓用/禁用javascript? (WebBrowser控件)
- 13. React native - 以編程方式檢查是否啓用了遠程JS調試
- 14. 如何以編程方式啓用/禁用Windows功能
- 15. 如何以編程方式啓用/禁用Azure功能
- 16. 如何以編程方式啓用/禁用IE代理設置?
- 17. Android如何以編程方式啓用/禁用自動同步
- 18. 如何在rooted android上以編程方式禁用/啓用gps?
- 19. 如何檢查一個文件是否以編程方式安卓數據庫?
- 20. 如何以編程方式禁用cookie
- 21. 如何以編程方式檢查EC2實例是否完成重新啓動?
- 22. 如何以編程方式檢查wcf服務是否停止
- 23. 如何以編程方式檢查MP4是否損壞?
- 24. 如何以編程方式檢查鍵盤是否連接?
- 25. 如何以編程方式檢查Zookeeper是否正在運行
- 26. 如何以編程方式檢查Zookeeper是否正在運行?
- 27. 如何檢查iCloud是否以編程方式配置
- 28. Android如何檢測是否以編程方式啓用了一個小部件?
- 29. 檢查用戶是否允許以編程方式截斷表
- 30. 以編程方式檢查Windows是否用C++激活
這是_Settings.Global.DATA_ROAMING_從API 17。 – lomza