1
A
回答
2
試試這個:
ConnectivityManager connManager = (ConnectivityManager)
getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected())
{
turnData(false);
}
void turnData(boolean ON) throws Exception
{
if(bv == Build.VERSION_CODES.FROYO)
{
Log.i("version:", "Found Froyo");
try{
Method dataConnSwitchmethod;
Class telephonyManagerClass;
Object ITelephonyStub;
Class ITelephonyClass;
TelephonyManager telephonyManager = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
telephonyManagerClass = Class.forName(telephonyManager.getClass().getName());
Method getITelephonyMethod = telephonyManagerClass.getDeclaredMethod("getITelephony");
getITelephonyMethod.setAccessible(true);
ITelephonyStub = getITelephonyMethod.invoke(telephonyManager);
ITelephonyClass = Class.forName(ITelephonyStub.getClass().getName());
if (ON) {
dataConnSwitchmethod = ITelephonyClass.getDeclaredMethod("enableDataConnectivity");
} else {
dataConnSwitchmethod = ITelephonyClass.getDeclaredMethod("disableDataConnectivity");
}
dataConnSwitchmethod.setAccessible(true);
dataConnSwitchmethod.invoke(ITelephonyStub);
}catch(Exception e){
Log.e("Error:",e.toString());
}
else
{
Log.i("version:", "Found Gingerbread+");
final ConnectivityManager conman = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
iConnectivityManagerField.setAccessible(true);
final Object iConnectivityManager = iConnectivityManagerField.get(conman);
final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, ON);
}
}
不要忘了在清單文件中添加這些權限;
android.permission.ACCESS_WIFI_STATE
android.permission.UPDATE_DEVICE_STATS
android.permission.CHANGE_NETWORK_STATE
android.permission.ACCESS_NETWORK_STATE
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PHONE_STATE
相關問題
- 1. 如何用opentok連接其他用戶?
- 2. 如何禁用鏈接點擊並啓用其他鏈接?
- 3. 如何禁用GSM連接
- 4. 禁用其他鏈接的JQuery切換
- 5. 如果連接返回false,則立即使用其他連接。它可能嗎?
- 6. 如何從其他連接(其他用戶)中選擇Oracle中的視圖?
- 7. 如何使我的sql連接可用於同一類別的其他部分
- 8. 如何連接HBase與PHP或其他
- 9. 如何將UILabel連接到其他類
- 10. 如何連接到其他服務器
- 11. 如何從其他主機連接Docker?
- 12. 如何連接到其他設備?
- 13. 如何創建其他連接zf2 apigility?
- 14. 如何連接到SQLYog localhost或其他
- 15. chromecast如何連接到其他設備?
- 16. 如何讓其他人使用ssh連接到我的電腦?
- 17. 用SQL連接2個其他表?
- 18. OpenId連接其他用戶信息
- 19. 如何禁用psycopg2連接池?
- 20. 如何通過ActiveSync禁用Internet連接?
- 21. 如何禁用鏈接時,其點擊?
- 22. 我將如何禁用其他用戶訪問連接到數據庫的c#中的某個表單?
- 23. 如何iPhone遊戲/應用程序可以連接到其他iPhone手機
- 24. 如何使用組連接獲取'其他'重複值?
- 25. 如何將用戶數據與其他表連接起來?
- 26. 如何將Java midi連接到其他應用程序
- 27. 如何使用iframe連接到其他頁面?
- 28. 瞭解OOP - 如何在其他類中使用PDO連接
- 29. 如何使用IPCEventBus連接到其他進程
- 30. Laravel:如何在連接中使用其他數據庫表?
它由框架自動控制(即,如果可用的話,WiFi總是被設置爲默認連接)。所以你不必擔心它。 – waqaslam 2012-08-03 09:48:49
我想每次只使用一個連接。我想要禁用移動GSM。如果WiFi在我的設備(SGIII)上有 – 2012-08-03 09:53:29
,它是由Android自動完成的,您不必執行任何操作。 – 2012-08-03 09:56:13