Google Play会在您尝试使用它并且碰巧没有连接到wifi网络时执行此操作。
我正在尝试做的照片:
如果您只是运行标准
startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));
然后它加载了我正在寻找的窗口。但是,我想在它上面叠加一个“后退”和“下一个”按钮。返回应返回上一个窗口,只有在选择了网络并执行身份验证(如果需要)后才能选择。然后它将进入另一项活动。
我尝试用片段实现它(一个用于意图启动窗口,另一个用于按钮),但它不起作用。
这是应用程序启动时启动的代码
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layfile);
// Intent n = new Intent(this,Pactivity.class);
// startActivity(n);
//
}
}
public class Pactivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
//addPreferencesFromIntent(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));
setContentView(R.layout.main);
}
}
public class Pfrag extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
}
以下是xml文件
<?xml version="1.0" encoding="UTF-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<Preference
android:key="key"
android:title="WiFi"
android:summary="Calls WiFi">
<intent android:action="android.net.wifi.PICK_WIFI_NETWORK"/>
</Preference>
</PreferenceScreen>
我还尝试了一些抛出基于偏好的类。也没做我想做的事。
如何将按钮叠加到您使用WifiManager.ACTION_PICK_WIFI_NETWORK
看到的内容?
答案 0 :(得分:18)
Intent intent = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);
intent.putExtra("only_access_points", true);
intent.putExtra("extra_prefs_show_button_bar", true);
intent.putExtra("wifi_enable_next_on_connect", true);
startActivityForResult(intent, 1);
这应该这样做。 从谷歌代码反向设计。
答案 1 :(得分:3)
这只是对UncleKing答案的改进。
因为你专门要求
如何将按钮叠加到WifiManager.ACTION_PICK_WIFI_NETWORK上看到的内容?
不需要额外内容only_access_points
和wifi_enable_next_on_connect
。您只需要extra_prefs_show_button_bar
额外费用。只需使用最后一个额外的按钮即可显示叠加按钮。
如果您愿意,可以使用ADB尝试:
am start -a android.net.wifi.PICK_WIFI_NETWORK --ez extra_prefs_show_button_bar True
因此减少的代码将是:
Intent intent = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);
intent.putExtra("extra_prefs_show_button_bar", true);
startActivityForResult(intent, 1);
在Android 4.1,4.4和5.1上尝试过。