رفتن به مطلب
  • 0

چگونگی استخراج نام و پسورد هات اسپات دستگاه


fun_code

سوال

سلام دوستان

من یه برنامه نوشتم که در اون باید شبیه به برنامه shareIT نام هات اسپات دستگاه رو تغییر بدم و هات اسپات رو OPEN قرار بدم...

اگر دقت کرده باشید برنامه shareIT میاد هات اسپات رو با نام مورد نظر خودش تغییر میده و پسورد رو هم حذف میکنه...

نکته مهم اینجا است که اگر از برنامه shareIT بطور نرمال خارج بشیم ، برنامه میاد نام و پسورد قبلی هات اسپات رو مجددا سِـت میکنه...

من هر کاری کردم نتونستم بفهمم که چطور میشه نام و پسورد هات اسپات دستگاه رو زمان ورود به برنامه در بیارم و زمان خروج از برنامه همونا رو ثبت کنم !

به نظر شما در B4A ممکنه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام

این کد رو به وسیله InLineJava  تست کنید.

سعی کنید Import  هاش رو از سایت دولوپر گوگل در بیارید »

public static boolean setHotspotName(String newName, Context context) { 
    try {
        WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
        Method getConfigMethod = wifiManager.getClass().getMethod("getWifiApConfiguration");
        WifiConfiguration wifiConfig = (WifiConfiguration) getConfigMethod.invoke(wifiManager);

        wifiConfig.SSID = newName;

        Method setConfigMethod = wifiManager.getClass().getMethod("setWifiApConfiguration", WifiConfiguration.class);
        setConfigMethod.invoke(wifiManager, wifiConfig);

        return true;
    }
    catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}

 

لینک پست »

How do I change the Portable Hotspot's SSID in Android programmatically? - Stack Overflow

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 ساعت قبل، مجید آرتا گفته است :

سلام

این کد رو به وسیله InLineJava  تست کنید.

سعی کنید Import  هاش رو از سایت دولوپر گوگل در بیارید »


public static boolean setHotspotName(String newName, Context context) { 
    try {
        WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
        Method getConfigMethod = wifiManager.getClass().getMethod("getWifiApConfiguration");
        WifiConfiguration wifiConfig = (WifiConfiguration) getConfigMethod.invoke(wifiManager);

        wifiConfig.SSID = newName;

        Method setConfigMethod = wifiManager.getClass().getMethod("setWifiApConfiguration", WifiConfiguration.class);
        setConfigMethod.invoke(wifiManager, wifiConfig);

        return true;
    }
    catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}

 

لینک پست »

How do I change the Portable Hotspot's SSID in Android programmatically? - Stack Overflow

سلام جناب آرتا

اگر استباه نکنم همانطور که از اسم تابع هم مشخصه ، کدهای بالا برای تغییر تنظیمات هات اسپات استفاده میشه...

من قصد دارم SSID و Password جاری (فعلی) هات اسپات دستگاه رو دریافت کنم.

فرض کنید SSID هات اسپات test و پسورد 12345678 است.

میخوام با ورود به برنامه SSID و Password بالا رو نمایش بده...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

میدونم کار سختیه بازیابی نام و پسورد هات اسپات...

الان دریافت فقط نام هات اسپات هم برام کافیه...

یعنی کدی که نام فعلی هات اسپات رو نمایش بده... (منظورم تغییر نام هات اسپات نیستا)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

این کد رو تست کنید ببینید به نتیجه ای که میخوایید میرسید یا خیر »

Sub Globals
	Private NativeMe As JavaObject
	Private HotSpotNameLbl As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("activity_main")
	NativeMe.InitializeContext
	HotSpotNameLbl.Text = NativeMe.RunMethod("getHotSpot",Null)
End Sub

Sub Activity_Resume
End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub
#if java
import android.net.wifi.WifiManager;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiConfiguration ;
import android.util.Log;
import java.lang.reflect.Method;
import java.lang.NullPointerException;

public String getHotSpot(){
String ssidAndPassword = "";
   try{
   		
		WifiManager wifimanager = (WifiManager) getSystemService(WIFI_SERVICE);
		Method[] methods = wifimanager.getClass().getDeclaredMethods();
		for (Method m: methods) {           
		    if (m.getName().equals("getWifiApConfiguration")) {
		        WifiConfiguration config = (WifiConfiguration)m.invoke(wifimanager);
				 ssidAndPassword = "SSID : " + config.SSID + "\nPassword : " + config.preSharedKey ;
		    }
		}
} catch (Exception e) {
   	 Log.e(this.getClass().toString(), "", e);
}
	return ssidAndPassword;
}
#End If 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 16 ساعت قبل، مجید آرتا گفته است :

سلام

این کد رو تست کنید ببینید به نتیجه ای که میخوایید میرسید یا خیر »


Sub Globals
	Private NativeMe As JavaObject
	Private HotSpotNameLbl As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("activity_main")
	NativeMe.InitializeContext
	HotSpotNameLbl.Text = NativeMe.RunMethod("getHotSpot",Null)
End Sub

Sub Activity_Resume
End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub
#if java
import android.net.wifi.WifiManager;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiConfiguration ;
import android.util.Log;
import java.lang.reflect.Method;
import java.lang.NullPointerException;

public String getHotSpot(){
String ssidAndPassword = "";
   try{
   		
		WifiManager wifimanager = (WifiManager) getSystemService(WIFI_SERVICE);
		Method[] methods = wifimanager.getClass().getDeclaredMethods();
		for (Method m: methods) {           
		    if (m.getName().equals("getWifiApConfiguration")) {
		        WifiConfiguration config = (WifiConfiguration)m.invoke(wifimanager);
				 ssidAndPassword = "SSID : " + config.SSID + "\nPassword : " + config.preSharedKey ;
		    }
		}
} catch (Exception e) {
   	 Log.e(this.getClass().toString(), "", e);
}
	return ssidAndPassword;
}
#End If 

 

جناب آرتا از لطف شما بسیار متشکرم

راستش منم کد جاوایی که ارسال کردین رو در لینک زیر دیده بودم ، اما هر کاری کردم نتونستم کتابخانه های مورد نیازش + طرز استفاده اش رو بفهمم.

اگر ممکنه بنده رو راهنمایی بفرمایید و به بنده و مبتدی هایی شبیه بنده آموزش بدید که چطور کتابخانه هاش رو بدست بیاریم ؟!

java - How to get my wifi hotspot ssid in my current android system - Stack Overflow

 

تابع هم میومد تمامی متدها رو دریافت و با حلقه for متد getWifiApConfiguration رو پیدا میکرد و اطلاعات رو نمایش میداد.

کمی تغییرش دادم تا مستقیم متد مورد نظر رو دریافت کنه.

#if java
	import android.net.wifi.WifiManager;
	import android.net.wifi.WifiInfo;
	import android.net.wifi.WifiConfiguration ;
	import android.util.Log;
	import java.lang.reflect.Method;
	import java.lang.NullPointerException;
	public String getHotSpot(){
		String ssidAndPassword = "";
		   try{
				WifiManager wifimanager = (WifiManager) getSystemService(WIFI_SERVICE);
				Method methods = wifimanager.getClass().getMethod("getWifiApConfiguration");
				WifiConfiguration config = (WifiConfiguration)methods.invoke(wifimanager);
				ssidAndPassword = "SSID : " + config.SSID + "\nPassword : " + config.preSharedKey ;
		} catch (Exception e) {
		   	 Log.e(this.getClass().toString(), "", e);
		}
		return ssidAndPassword;
	}
#End If 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خواهش می کنم عزیز.

کار خاصی نداره به اون شکل.

ففقط زمانیکه از InLineJava  که استفاده می کنید، چک کنید از اون متغییر هایی که استفاده شده دارای چه Import  هایی هستش.چون ما توی IDE  های مربوط به جاوا کار نمیکنیم و خب به صورت خودکار نمیتونه تشخیص بده و خودش Import  کنه.ما دستی چیزایی رو که برای کامپایل نیازه رو وارد می کنیم.

بر فرض WifiManager رو بخواییم استفاده کنیم»

1.PNG

 

به وسیله سایت دولوپر خود گوگل به این شکل Import  مربوطه رو پیدا می کنیم »

2.PNG

 

البته اگه اشتباه نکنم آقای شاهدی عزیز اموزش راجب JavaObject  توی انجمن گذاشته باشن.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 9 ساعت قبل، مجید آرتا گفته است :

به وسیله سایت دولوپر خود گوگل به این شکل Import  مربوطه رو پیدا می کنیم »

سلام

ممنون بابت راهنماییتون از طریق عکس...

فقط یه سوال...

سایت دولوپر گوگل رو هرطور تست کردم وارد نمیشه و میگه منطقه ما تحریمه...

در عکس شما هم تنها یک مورد import رو نمایش داده...

اما شما جدا از import بالا ، 5 import دیگه رو هم اضافه کردین که اونا در عکس بالا نیست.

البته شاید از طریق تجربه متوجهشون شدید.

آموزش جناب شاهدی رو جستجو میکنم ببینم میتونم کاملا درکش کنم یا نه.

مورد استفاده از کدهای جاوا خیلی ضروریه... چون خیلی از کتابخانه های b4a نقص دارن... مثل تغییر نام هات اسپات (بدون پسورد) که کدهای موجود تواناییش رو نداره و حتما باید هات اسپات خاموش و دوباره روشن بشه تا کدهای مربوطه کار کنه... اما کتابخانه تغییر نام و پسورد بدون مشکل و با سرعت بالا کار میکنه.

بازم تشکر میکنم از همراهیتون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 3 ساعت قبل، fun_code گفته است :

در عکس شما هم تنها یک مورد import رو نمایش داده...

اما شما جدا از import بالا ، 5 import دیگه رو هم اضافه کردین که اونا در عکس بالا نیست.

خب Import  های دیگه رو هم به همین شکل در اوردم، یه  دونه یه دونه بدست اوردم.

حالا گاها بعضیارو چون زیاد کار می کنیم حفظ هستیم.ولی درستش اینه که توی سایت خود گوگل در بیاریم تا باز خطایی چیزی پیش نیاد.

بنده از قند شکن س.*ا.*ی.*ف.*و.*ن   استفاده می کنم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کار خیلی سختی بود آره ؟

چون این مطلب پاسخی نداشت که هیچ ، بازدیدی هم نداشت !

اوکی

کلا بیخیال میشم ...

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...