MoslemMaleki
پنج شنبه 23 مرداد 1393, 21:12 عصر
با سلام خدمت دوستان
من میخوام مثل این برنامه: http://cafebazaar.ir/app/it.itomainu.android.connectionmodewidget/?l=fa بتونم data connection رو قطع یا وصل کنم. یه کد هم توی نت هست که همجا بهش اشاره شده اما برای من هزار تا ارور میده، من اون رو در اکتیویتیم همینجوری به صورت یک تابع میگذارم و ایمپورتهایی که خود برنامه میگه رو انجام میدم ولی سرآخر بازم درست نمیشه لطفاً راهنمایی کنید و یا یک کد بهتر بدید. کد:
private void setMobileDataEnabled(Context context, boolean enabled) {
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERV ICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field connectivityManagerField = conmanClass.getDeclaredField("mService");
connectivityManagerField.setAccessible(true);
final Object connectivityManager = connectivityManagerField.get(conman);
final Class connectivityManagerClass = Class.forName(connectivityManager.getClass().getNa me());
final Method setMobileDataEnabledMethod = connectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(connectivityMana ger, enabled);
}
این هم باید در مین فست قرار بگیره:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
من میخوام مثل این برنامه: http://cafebazaar.ir/app/it.itomainu.android.connectionmodewidget/?l=fa بتونم data connection رو قطع یا وصل کنم. یه کد هم توی نت هست که همجا بهش اشاره شده اما برای من هزار تا ارور میده، من اون رو در اکتیویتیم همینجوری به صورت یک تابع میگذارم و ایمپورتهایی که خود برنامه میگه رو انجام میدم ولی سرآخر بازم درست نمیشه لطفاً راهنمایی کنید و یا یک کد بهتر بدید. کد:
private void setMobileDataEnabled(Context context, boolean enabled) {
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERV ICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field connectivityManagerField = conmanClass.getDeclaredField("mService");
connectivityManagerField.setAccessible(true);
final Object connectivityManager = connectivityManagerField.get(conman);
final Class connectivityManagerClass = Class.forName(connectivityManager.getClass().getNa me());
final Method setMobileDataEnabledMethod = connectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(connectivityMana ger, enabled);
}
این هم باید در مین فست قرار بگیره:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>