如果移動連接到開放網絡(路由器),系統會顯示通知,這需要對瀏覽器進行註冊Android的 - 與文本連接的WiFi設備顯示通知
同樣有可能以顯示與自定義通知。當設備連接到WiFi(Android wifi熱點)時打開瀏覽器與意向URL的文本?
說明:
連接到wifi的設備沒有我的應用程序。該通知需由託管wifi熱點
如果移動連接到開放網絡(路由器),系統會顯示通知,這需要對瀏覽器進行註冊Android的 - 與文本連接的WiFi設備顯示通知
同樣有可能以顯示與自定義通知。當設備連接到WiFi(Android wifi熱點)時打開瀏覽器與意向URL的文本?
說明:
連接到wifi的設備沒有我的應用程序。該通知需由託管wifi熱點
現在你可以創建廣泛的監聽網絡的變化,並調用一個意圖 Check INTENT internet connection
如果我的應用程序存在於WiFi連接設備中,這將起作用。如果我的應用程序不存在,那麼這將失敗。 –
如果你不使用監聽器。你的想法是錯誤的。 – Dungnbhut
1)您可以使用BroadcastReciever「android.net.wifi的Android設備發送。 WIFI_HOTSPOT_CLIENTS_CHANGED「來檢測客戶端連接。
在你AndroidManifest:
<receiver
android:name=".WiFiConnectionReciever"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="android.net.wifi.WIFI_HOTSPOT_CLIENTS_CHANGED" />
</intent-filter>
</receiver>
而在活動時間:
IntentFilter mIntentFilter = new IntentFilter();
mIntentFilter.addAction("android.net.wifi.WIFI_HOTSPOT_CLIENTS_CHANGED");
rcv = new WiFiConnectionReciever();
registerReceiver(rcv,mIntentFilter);
2)您也可以連接的設備的清單熱點
public void getConnectedClientList() {
int clientcount = 0;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
String mac = splitted[3];
System.out.println("Mac : Outside If "+ mac);
if (mac.matches("..:..:..:..:..:..")) {
clientcount++;
System.out.println("Mac : "+ mac + " IP Address : "+splitted[0]);
System.out.println("Client_count " + clientcount + " MAC_ADDRESS "+ mac);
Toast.makeText(
getApplicationContext(),
"Client_count " + clientcount + " MAC_ADDRESS "
+ mac, Toast.LENGTH_SHORT).show();
}
}
} catch(Exception e) {
}
}
我的應用程序不是在連接的無線設備,那麼從主持wifi的設備發送通知會是什麼情況? –
你可以檢查編輯的答案。你也可以通過[Android Wifi熱點管理器類](https://www.whitebyte.info/android/android-wifi-hotspot-manager-class),它有示例代碼掃描/ proc/net/arp並ping每個知名的客戶探測民生。 –
感謝您的回覆。你的代碼有助於獲取wifi連接的設備ipAddress。但是,我可以在連接的WiFi設備上顯示意向URL的通知嗎? –
我已經用這個更新了這個問題注意。請檢查 –