ایجاد hotspot (نقطه اتصال همراه) در اندروید های پایین
با سلام و احترام
من اخیرا در حال نوشتن یک برنامه اشتراک گذاری داده ها با استفاده از hotspot هستم و این را می دانم که برای روشن و ایجاد آن باید از این کد استفاده کرد:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
wifiManager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback(){
@Override
public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
super.onStarted(reservation);
Log.i("Test", ""+reservation.getWifiConfiguration().toString());
Log.i("Test", ""+reservation.getWifiConfiguration().preSharedKey);
reservation.close();
}
@Override
public void onFailed(int reason) {
super.onFailed(reason);
}
@Override
public void onStopped() {
super.onStopped();
}
},new Handler()/*or null*/);
ولی اگر توجه کرده باشید این کد قابله استفاده در اندروید های اوریو (o) به بعد می باشد و قبل از آن ، قابل استفاده نیست و ممکن است با کرش رو به رو شود...
اکنون سوال من هست که در اندروید های قبل چگونه این عمل انجام می گردد... با تشکر.
خب طبعا وقتی که دارید : startLocalOnlyHotspot رو از داخل wifiManager میخونید ، باید اونو داخل if کذایی بزارید. زیرا این قابلیت از نسخه ی api 26 به بعد به اندروید اومده که اندروید O یا همون Oreo باشه.
طبیعتا این متد رو نمیشه کاری بکنید باهاش.
ولی خب برای گوشیهایی با اندروید 26 به زیر هم راه کار هست.
طوری که شما بالا کد گذاشتید ، مشخص میشه که کدتون درست کار میکنه ، وقتی داشتم دنبال جوابی برای سوالتون میگشتم ، به یک لینک رسیدم که همین کدهای شما رو گذاشته ، منتها برای ورژنهای زیرتر هم گذاشته.
پس میشه مطمئن شد که براش جواب داده و میتونید ازش استفاده کنید.
اما چونکه یک متد آماده مثل ورژنهای 26 به بالا رو اندروید در اختیار شما نزاشته ، باید بصورت دستی اون کارهایی که پس این متد انجام میشه رو خودتون انجام بدید که بنظرم از طریق رفلکشن اینکارو طرف انجام میده. لینک مراجعه
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .