这是我的场景, 我希望用户单击一个按钮,使用
将他带到 wifi 网络屏幕startActivityForResult(Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS),RESULT_CODE);
然后,用户选择一个 wifi 网络,连接到它,wifi 设置 Activity 关闭,用户返回到我的应用程序。 我如何实现这一目标?
最佳答案
android.provider.Settings 提供 Intent 操作,您可以使用它来启动各种设置屏幕(例如 ACTION_WIFI_SETTINGS)。
要使用按钮,您必须编写:
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
startActivity(intent);
}
});
要获取 wifi 连接回调,您必须在 list 中添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
并将此代码放入 Activity onCreate 或某个方法中:
ConnectivityManager connectivityManager = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkRequest.Builder builder = new NetworkRequest.Builder();
connectivityManager.registerNetworkCallback(builder.build(),
new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
//Do your work here or restart your activity
Intent i = new Intent(this, MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
}
@Override
public void onLost(Network network) {
//internet lost
}
});
关于java - 有没有办法在 Android 中打开 Wifi Activity 并获得 Android 中成功连接的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60167490/