انجمن سایت کلیدستان



غیر فعال کردن و فعال کردن اینترنتزمان کنونی: ۱۳۹۹/۰۵/۱۸، ۰۴:۴۸ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: mahan
آخرین ارسال: mahan
پاسخ 3
بازدید 411

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
غیر فعال کردن و فعال کردن اینترنت

غیر فعال کردن و فعال کردن اینترنت

#1
سلام 
من در برنامم یک buuton دارم که میخوام وقتی کلیک شد اگه اینترنت غیر فعال است فعالش کنه و برعکس (یرای اندروید 5)
با گرفتن حالت اینترنت مشکلی ندارم فقط نمیدونم چطور  اینترنت غیر فعال است فعالش کنه و برعکس 
از تمام دوستانی که راهنمایی میکنند تشکر میکنم
پاسخ

غیر فعال کردن و فعال کردن اینترنت

#2
(۱۳۹۸/۰۵/۲۷, ۱۰:۴۵ ق.ظ)mahan نوشته: سلام 
من در برنامم یک buuton دارم که میخوام وقتی کلیک شد اگه اینترنت غیر فعال است فعالش کنه و برعکس (یرای اندروید 5)
با گرفتن حالت اینترنت مشکلی ندارم فقط نمیدونم چطور  اینترنت غیر فعال است فعالش کنه و برعکس 
از تمام دوستانی که راهنمایی میکنند تشکر میکنم

سلام امیدوارم کد زیر بهت کمکی کرده باشه، البته شاید تا الان جوابت رو بدست آورده باشی؛ یه تابع است مقدار true و false بهت برمیگردونه میتونی switch button جوابشو نمایش بدی، البته دوتا کلاس داره تو این تابع اگه import بودن تو کتابخونت که چه بهتر اگه نبودن بگو دستی برات ارسال کنم
کد:
boolean DataOnOff(boolean status, Context context) {
 int bv = 0;
   try {
    if (bv == Build.VERSION_CODES.FROYO){
    
    Method dataConnSwitchmethod;
    Class<?> telephonyManagerClass;
    Object ITelephonyStub;
    Class<?> ITelephonyClass;

    TelephonyManager telephonyManager = (TelephonyManager) context
        .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 (status) {
            dataConnSwitchmethod = ITelephonyClass
                .getDeclaredMethod("enableDataConnectivity");
        } else {
            dataConnSwitchmethod = ITelephonyClass
                .getDeclaredMethod("disableDataConnectivity");
        }
        dataConnSwitchmethod.setAccessible(true);
        dataConnSwitchmethod.invoke(ITelephonyStub);

    } else {
    
    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, status);
    }

    return true;
    
    } catch (Exception e) {
    Log.e("Mobile Data", "error turning on/off data");

    return false;
    }

}
Iran  ErfanMahigir Iran
پاسخ

غیر فعال کردن و فعال کردن اینترنت

#3
(۱۳۹۸/۰۶/۰۹, ۱۰:۵۱ ب.ظ)e.mahi نوشته:
(۱۳۹۸/۰۵/۲۷, ۱۰:۴۵ ق.ظ)mahan نوشته: سلام 
من در برنامم یک buuton دارم که میخوام وقتی کلیک شد اگه اینترنت غیر فعال است فعالش کنه و برعکس (یرای اندروید 5)
با گرفتن حالت اینترنت مشکلی ندارم فقط نمیدونم چطور  اینترنت غیر فعال است فعالش کنه و برعکس 
از تمام دوستانی که راهنمایی میکنند تشکر میکنم

سلام امیدوارم کد زیر بهت کمکی کرده باشه، البته شاید تا الان جوابت رو بدست آورده باشی؛ یه تابع است مقدار true و false بهت برمیگردونه میتونی switch button جوابشو نمایش بدی، البته دوتا کلاس داره تو این تابع اگه import بودن تو کتابخونت که چه بهتر اگه نبودن بگو دستی برات ارسال کنم
کد:
boolean DataOnOff(boolean status, Context context) {
 int bv = 0;
   try {
    if (bv == Build.VERSION_CODES.FROYO){
    
    Method dataConnSwitchmethod;
    Class<?> telephonyManagerClass;
    Object ITelephonyStub;
    Class<?> ITelephonyClass;

    TelephonyManager telephonyManager = (TelephonyManager) context
        .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 (status) {
            dataConnSwitchmethod = ITelephonyClass
                .getDeclaredMethod("enableDataConnectivity");
        } else {
            dataConnSwitchmethod = ITelephonyClass
                .getDeclaredMethod("disableDataConnectivity");
        }
        dataConnSwitchmethod.setAccessible(true);
        dataConnSwitchmethod.invoke(ITelephonyStub);

    } else {
    
    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, status);
    }

    return true;
    
    } catch (Exception e) {
    Log.e("Mobile Data", "error turning on/off data");

    return false;
    }

}

سلام ممنون از راهنمایی شما دوست عزیز حالا اگه بخوام روی api =>23 انجام بدم  کار نمیکنه و خطا میده 

ممنون میشم راهنمایی کنید
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان