Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有一种方法可以在Android中打开Wi-Fi设置并提供返回调用应用程序的路径?_Java_Android_Android Intent - Fatal编程技术网

Java 是否有一种方法可以在Android中打开Wi-Fi设置并提供返回调用应用程序的路径?

Java 是否有一种方法可以在Android中打开Wi-Fi设置并提供返回调用应用程序的路径?,java,android,android-intent,Java,Android,Android Intent,我正在为三星Galaxy Tab 3/4开发一个应用程序,它将嵌入到一台机器中。背面、主页和菜单按钮均已覆盖,平板电脑唯一可访问的部分是触摸屏 我需要能够从应用程序访问Wi-Fi设置并返回。我可以使用启动Wi-Fi设置 startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS); // Or startActivity(new Intent(android.net.wifi.WifiManager.ACTION

我正在为三星Galaxy Tab 3/4开发一个应用程序,它将嵌入到一台机器中。背面、主页和菜单按钮均已覆盖,平板电脑唯一可访问的部分是触摸屏

我需要能够从应用程序访问Wi-Fi设置并返回。我可以使用启动Wi-Fi设置

startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
// Or
startActivity(new Intent(android.net.wifi.WifiManager.ACTION_PICK_WIFI_NETWORK);
但是,一旦进入这些屏幕,如果不使用硬件按钮,就没有出路

我还尝试通过添加首选项到片段中

addPreferencesFromIntent(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
// Or
addPreferencesFromIntent(new Intent(android.net.wifi.WifiManager.ACTION_PICK_WIFI_NETWORK);
但是收到一个java.lang.NullPointerException

java.lang.NullPointerException
E/AndroidRuntime(8767): at android.preference.PreferenceManager.inflateFromIntent(PreferenceManager.java:249)
E/AndroidRuntime(8767): at android.preference.PreferenceFragment.addPreferencesFromIntent(PreferenceFragment.java:303)
有没有办法将这个屏幕加载到PreferenceFragment中,强制它在左上角有一个“后退”按钮,或者其他方法,或者我运气不好

我正在为三星Galaxy Tab 3/4开发一个应用程序,它将嵌入到一台机器中

您是否先向机器申请许可?:-)

我还尝试通过添加首选项到片段中

addPreferencesFromIntent(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
// Or
addPreferencesFromIntent(new Intent(android.net.wifi.WifiManager.ACTION_PICK_WIFI_NETWORK);
这是行不通的,原因有很多,尤其是你的应用程序无权操作这些设置

有没有办法将此屏幕加载到PreferenceFragment中

不是以一种可靠的方式工作

强制在左上角有一个“后退”按钮

欢迎您启动
服务
,该服务提供某种按钮作为浮动在前台的弹出窗口。虽然该按钮不能真正执行后退操作(即,在“设置”活动中调用
finish()
),但您可以让它使用
startActivity()
将您的某些内容带回前台

你更大的问题是,IIRC,用户可以通过操作栏中的home启示进入设置应用程序的其余部分,我想你不会想要的

其他方法


这些嵌入式场景不应该使用库存ROM,IMHO。你应该有自己的Android版本,有自己的设备来处理所有这些场景。

从长远来看,我将开发一个自定义ROM,但是考虑到初始截止日期的时间框架,我必须使用库存。所以基本上我对我最初的方法不太走运。我将用浮动按钮的想法来研究这项服务。如果我使用“Settings.ACTION\u WIFI\u Settings”,那么就无法进入主设置,这对这个应用程序来说是很好的。此外,我的应用程序限制了启动wifi设置的访问权限,因此我并不过分担心这一点。