Tôi có một chương trình nhỏ cố gắng kết nối với mạng wifi. Nó cho phép các wifi trên thiết bị sau đó nếu nó là lần đầu tiên được kết nối với các mạng nhất định Nó tải wifi thiết bị để chọn và thêm mật khẩu để kết nối. Cho đến khi tôi thêm mật khẩu để kết nối chương trình không nên hoàn thành. Làm cách nào tôi có thể thêm nội dung nào đó để đợi cho đến khi tôi nhận được từ trình quản lý wifi được kết nối? Tôi thử ngủ nhưng nó đóng băng ứng dụng và không nhận được menu bật lên wifi để kết nối? có cách nào khác không?đợi cho đến khi kết nối wifi trên android
16
A
Trả lời
24
Tôi đã tìm thấy giải pháp cho vấn đề của bạn cách đây một tháng, chỉ cần sử dụng phương thức Đặt chủ đề được kết nối() trong đó.
Trong trường hợp này, tôi sử dụng WifiExplorerActivity để hiển thị tất cả mạng wifi và cho phép người dùng kết nối với mạng đó.
Thread t = new Thread() {
@Override
public void run() {
try {
//check if connected!
while (!isConnected(WifiExplorerActivity.this)) {
//Wait to connect
Thread.sleep(1000);
}
Intent i = new Intent(WifiExplorerActivity.this, MainActivity.class);
startActivity(i);
} catch (Exception e) {
}
}
};
t.start();
Và đây là chức năng để kiểm tra wifi đã kết nối hay không:
public static boolean isConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = null;
if (connectivityManager != null) {
networkInfo = connectivityManager.getActiveNetworkInfo();
}
return networkInfo != null && networkInfo.getState() == NetworkInfo.State.CONNECTED;
}
Cuối cùng, hãy chắc chắn AndroidManifest.xml của bạn trông như thế này:
<activity android:name=".WifiExplorerActivity" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</activity>
Ngoài ra, bạn có thể sử dụng ProgressDialog để chờ kết nối. Xem http://developer.android.com/guide/topics/ui/dialogs.html
Các vấn đề liên quan
- 1. Kết nối WiFi qua android
- 2. Kết nối WiFi Android lập trình
- 3. Kết nối wifi GameKit?
- 4. Android WIFI Cách phát hiện khi kết nối WIFI cụ thể có sẵn
- 5. kết nối kết nối trực tiếp qua wifi để ngang hàng trên Android?
- 6. Lập trình socket Android mà không cần kết nối WIFi
- 7. Cách tắt tự động kết nối WIFI trong Android
- 8. Kiểm tra kết nối internet trên android
- 9. Android/Java cách biết loại radio kết nối wifi
- 10. kết nối wifi thay đổi hành động trong android
- 11. Quét Android cho mạng Wifi
- 12. Android :: Cách ngắt kết nối khỏi mạng wifi?
- 13. Kết nối để mở WiFi
- 14. Làm thế nào để lọc kết nối wifi trong Android?
- 15. Android làm thế nào để tôi đợi cho đến khi một dịch vụ thực sự được kết nối?
- 16. Có thể kết nối wifi và 3G cùng một lúc trên Android không?
- 17. Tạm dừng thực thi cho đến khi Websocket kết nối
- 18. appengine kết nối dự án android đã chết khi đến
- 19. mở ứng dụng khi kết nối với wifi
- 20. Android: Chuyển đổi 3G sang WIFI khi đang ở giữa ứng dụng = mất kết nối mạng
- 21. Kết nối mạng WiFi qua ứng dụng
- 22. sử dụng 3g cho internet khi kết nối với adhoc wifi (sử dụng API riêng)
- 23. X11: đợi cho đến khi một cửa sổ hiển thị?
- 24. Cách đợi cho đến khi tệp.Exists?
- 25. điện Auto trên Android khi bộ sạc được kết nối
- 26. Phát hiện nếu kết nối là wifi, 3G hoặc EDGE trong android?
- 27. Các vấn đề về tập lệnh wifi trên Android
- 28. Xác thực tự động cho Android WiFi Direct
- 29. Giao diện Android với kết nối Ethernet
- 30. Tạm dừng dịch vụ cho đến khi kết nối internet có thể được thiết lập
cảm ơn rất nhiều. tôi sử dụng nó và nó hoạt động tuyệt vời – prokopis
Tại sao bạn cần '' trong tệp kê khai? (Tôi chưa bao giờ sử dụng nó và tôi không hiểu nó làm gì) –
MiniGod
Tôi sử dụng android.net.conn.CONNECTIVITY_CHANGE để đăng ký Người nhận cho hoạt động này, xem http://stackoverflow.com/questions/8127324/connectivitymanager-android -net-conn-connect-change – R4j