Android菜鳥筆記-WifiPickerActivity 實現跳轉到系統內建wifi串連介面

來源:互聯網
上載者:User

標籤:android   style   class   blog   code   java   

前言:

在使用一些APP時,比如Google Play,在沒有串連到網路時,APP會自動跳轉到系統內建的wifi串連介面(如),在這個介面下串連wifi有一個很好的功能:在沒有連上wifi熱點時,“下一步”按鈕是無法點擊,這種體驗效果是非常好的,確保了在下一步時,有網路可以使用。


實現步驟:

1. 怎麼才能跳轉到這個介面?(通過adb logcat查看Google Play跳轉時的ACTION,log如下)

I/ActivityManager(  444): START u0 {act=android.net.wifi.PICK_WIFI_NETWORK cmp=com.android.settings/.wifi.WifiPickerActivity (has extras)} from pid 6972

2.有了log就簡單了,Intent發出上面這個ACTION就可以啦,代碼如下:

Intent intent = new Intent();intent.setAction("android.net.wifi.PICK_WIFI_NETWORK");startActivity(intent);

效果如下:


3.擦!怎麼少了兩個按鈕?經過分析settings源碼(Settings\src\com\android\settings\wifi\WifiSettings.java和WifiPickerActivity.java)找到了如下資訊:

private static final String EXTRA_PREFS_SHOW_BUTTON_BAR = "extra_prefs_show_button_bar";//是否顯示button bar,傳遞值為true的話是顯示private static final String EXTRA_PREFS_SET_NEXT_TEXT = "extra_prefs_set_next_text";//自訂按鈕的名字,不傳遞的話,預設為下一步private static final String EXTRA_PREFS_SET_BACK_TEXT = "extra_prefs_set_back_text";//自訂按鈕的名字,不傳遞的話,預設為上一步private static final String EXTRA_ENABLE_NEXT_ON_CONNECT = "wifi_enable_next_on_connect";//是否開啟網路連接檢測功能(如果連上wifi,則下一步按鈕可被點擊)
臥槽!原來Intent要攜帶以上extra資訊啊,好吧,修改代碼如下:

Intent intent = new Intent();intent.setAction("android.net.wifi.PICK_WIFI_NETWORK");intent.putExtra("extra_prefs_show_button_bar", true);//intent.putExtra("extra_prefs_set_next_text", "完成"); //intent.putExtra("extra_prefs_set_back_text", "返回");intent.putExtra("wifi_enable_next_on_connect", true);startActivity(intent);
跳轉後,效果就如開頭的那個圖片了,一模一樣的,哈哈!



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.