如何在用戶進入帶有Wi-Fi的區域時打開我的應用程序?這可能嗎?假設我的應用程序是onPause()狀態(意味着我的設備的主屏幕)。現在當設備與WiFi連接。它會自動打開我的應用程序。與WiFi連接時打開應用程序
5
A
回答
5
嘗試添加廣播接收器並在無線連接開始您的活動時監聽網絡更改。這樣的解決方案
public class ConnectivityReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (((null != wifi)&&(wifi.isAvailable())) || ((null != mobile)&&(mobile.isAvailable()))){
Intent uplIntent = new Intent(context, YourActivity.class);
uplIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(uplIntent);
}
}
}
而添加的東西來體現
<receiver android:name=".receiver.ConnectivityReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
0
我可以想像的是onPause()
法這樣的改寫:
@Override
public void onPause() {
String conn_context = Context.WIFI_SERVICE;
final WifiManager wifi = (WifiManager) getSystemService(conn_context);
if (wifi.isWifiEnabled())
{
super.onResume();
}
else
{
super.onPause();
}
}
但你也必須想法子來處理真正的onPause事件。
+0
@ goody->當我的應用程序onPause ()狀態(表示設備的主屏幕)。當設備與WiFi連接時,它會自動打開我的應用程序。 – 2013-02-28 07:51:27
0
也許可以從Play Store的Tasker應用程序(儘管不是免費的)。或者您可以創建一個服務(http://developer.android.com/guide/components/services.html),該服務將在其他答案中列出代碼,然後在無線網絡可用時啓動您的應用程序(活動)。
相關問題
- 1. Android應用程序連接到wifi打印機打印
- 2. 當wifi wifi連接時,從後臺喚醒應用程序
- 3. WiFi連接Android應用程序
- 4. 如何使用Wifi連接開發Android應用程序
- 5. 發佈iOS應用程序與SSID(wifi)發現/連接通過應用程序
- 6. WiFi Direct打開時應用程序崩潰
- 7. 應用程序不能打開SQL連接時,在IIS
- 8. IllegalStateException(已連接)打開NFC讀卡器應用程序時
- 9. 當Quickbooks已經打開時,Quickbooks集成應用程序無法打開連接
- 10. iPhone應用程序在WiFi連接超出範圍時凍結?
- 11. 如何防止WiFi連接丟失時應用程序崩潰
- 12. 當應用程序已打開時打開深層鏈接
- 13. 應用程序應該打開鏈接與WebView不與Safari
- 14. WPF應用程序崩潰時打開使用遠程桌面連接
- 15. QT應用--- WIFI連接
- 16. 當應用程序不應該打開時最大化應用程序打開
- 17. 如何用xcode連接或打開另一個應用程序?
- 18. Android應用程序應該只在有互聯網連接時打開
- 19. IOS 9當設備連接到wifi時保持TCP連接打開lte
- 20. 適用於iOS的wifi連接器應用程序
- 21. Android:通過應用程序使用Wifi連接
- 22. 使用Android應用程序的Wifi連接訪問
- 23. 連接到開放WiFi
- 24. 打開/關閉iPhone的WiFi從應用程序
- 25. iPhone應用程序鏈接打開skype
- 26. 設置鏈接打開應用程序
- 27. 從Facebook鏈接打開應用程序
- 28. 在JavaFX應用程序中打開和關閉連接
- 29. 由另一個應用程序打開的關閉GPRS連接
- 30. 如何在RCP應用程序中異步打開WebSocket連接?
我得到了錯誤,當我禁用WiFi 。 java.lang.RuntimeException:無法實例化接收器com.example.text.ConnectivityReceiver:java.lang.ClassNotFoundException:com.example.text.ConnectivityReceiver在加載器中dalvik.system.PathClassLoader [/data/app/com.example。 test-2.apk] – 2013-02-27 06:45:40
>當我的應用程序onPause()狀態(意味着設備的主屏幕)。當設備與WiFi連接時,它會自動打開我的應用程序。 – 2013-02-27 12:13:38
@ prozhyga->當我的應用程序onPause()狀態(意味着設備的主屏幕)。當設備與WiFi連接時,它會自動打開我的應用程序。 – 2013-02-28 07:51:49