آموزش روشن کردن دیتا در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش روشن کردن دیتا در برنامه نویسی اندروید می پردازیم از این آموزش برای روشن کردن دیتا به شکل برنامه نویسی بدون اطلاع کابر می پردازیم البته کار زیاد درستی نیست و ممکن است کاربری که از برنامه شما استفاده می کند از این کار زیاد رضایت مند نباشد در ادامه با ما همراه باشید.
ابتدا برای اینکه از کد روشن کردن دیتا استفاده کنید لازم است دسترسی زیر را به AndroidManifest.xml اضافه کنید.
1 | <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> |
بعد از اضافه کردن از کد های زیر می توانید استفاده کنید.
روشن کردن و خاموش کردن
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public void setMobileDataState(boolean mobileDataEnabled) { try { TelephonyManager telephonyService = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); Method setMobileDataEnabledMethod = telephonyService.getClass().getDeclaredMethod("setDataEnabled", boolean.class); if (null != setMobileDataEnabledMethod) { setMobileDataEnabledMethod.invoke(telephonyService, mobileDataEnabled); } } catch (Exception ex) { Log.e(TAG, "Error setting mobile data state", ex); } } |
روشن کردن
1 | setMobileDataState(true); |
خاموش کردن
1 | setMobileDataState(false); |
کد بالای برای اندروید 4 به پایین کار می کند.
برای اینکه در اندروید های بالاتر نیز ما این امکان را داشته باشیم از کد زیر استفاده کنید.
1 2 3 4 5 6 7 8 | @Override public void setDataEnabled(boolean enable) { enforceModifyPermission(); mPhone.setDataEnabled(enable); } private void enforceModifyPermission() { mApp.enforceCallingOrSelfPermission(android.Manifest.permission.MODIFY_PHONE_STATE, null); } |
استفاده از آن هم شبیه مثال قبلی است پس با استفاده از کد بالا هم می توانید خاموش و هم روشنش کنید.
یک کد دیگر هم هست که برای گوشی های که اندروید 2.2 دارند کار می کند.
ابتدا دسترسی زیر را به AndroidManifest.xml اضافه کنید.
1 | <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> |
سپس کد زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 | private void setMobileDataEnabled(Context context, boolean enabled) { final ConnectivityManager conman = (ConnectivityManager) context.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, enabled);} |
و نحوه استفاده از کد بالا به شکل زیر است.
برای روشن کردن
1 | setMobileDataEnabled(MainActivity.this,true); |
و برای خاموش کردن آن
1 | setMobileDataEnabled(MainActivity.this,false); |
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
اموزش جالبیه .ممنون
خواهش می کنم.
سلام
چگونه داده های گوشی رو روشن وخاموش کن با یه بتن در اندروید4 به بالا از این آموزش زیاد سردرنیارودم لطفا کامل تر راهنمای کنید.
سلام وقت بخیر
mApp و mPhone در کد اندرویدبالای ۴ چیه؟
لطفا توضیح بدین