Android应用程序设置连接类型
我正在为android编写一个应用程序。我的问题是,我希望它强制连接GPRS,而不是使用wi-fi。我有如下解决方案,但这会导致应用程序在启动时崩溃Android应用程序设置连接类型,android,connection,gprs,Android,Connection,Gprs,我正在为android编写一个应用程序。我的问题是,我希望它强制连接GPRS,而不是使用wi-fi。我有如下解决方案,但这会导致应用程序在启动时崩溃 ConnectivityManager CM = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE); CM.setNetworkPreference(ConnectivityManager.TYPE_MOBILE); 我还将下面的设置行添加
ConnectivityManager CM =
(ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
CM.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);
我还将下面的设置行添加到清单文件中
uses-permission android:name="android.permission.WRITE_SETTINGS"
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"
uses-permission android:name="android.permission.CHANGE_CONFIGURATION"
uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"
是否有人知道该问题,或设置连接类型的答案
我的问题是我想让它强制
使用GPRS连接,不使用wi-Fi
菲
抱歉,这在今天的Android系统中是不可能的。您可以检查Wi-Fi是否已打开,在Android 2.0及更高版本中,您可以通过编程方式启用或禁用Wi-Fi。在Android1.x中,你能做的最好的事情就是告诉用户他们必须禁用它,并指向设置页面
/**
* Checks if Wi-Fi is on.
*
* @return true, if Wi-fi is on.
*/
public static boolean isWiFiOn()
{
WifiManager wifi = (WifiManager) MyAccountApplication.getContext().getSystemService(Context.WIFI_SERVICE);
if (wifi == null)
return false;
List<WifiConfiguration> config = wifi.getConfiguredNetworks();
if (config != null)
for (int i = 0; i < config.size(); i++)
{
if (config.get(i).status == WifiConfiguration.Status.CURRENT)
{
return true;
}
}
return false;
}
public static void setWiFi(Context context, boolean enabled)
{
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (wifi != null)
wifi.setWifiEnabled(enabled);
}
/**
*检查Wi-Fi是否已打开。
*
*@return true,如果Wi-fi已打开。
*/
公共静态布尔值isWiFiOn()
{
WifiManager wifi=(WifiManager)MyAccountApplication.getContext().getSystemService(Context.wifi\u SERVICE);
如果(wifi==null)
返回false;
List config=wifi.getConfiguredNetworks();
如果(配置!=null)
对于(int i=0;i
我将利用LogCat
,您将使用Log
类在您认为可能存在问题的代码中留下调试语句,并且在LogCat
窗口中,您可以看到导致崩溃的原因的跟踪。执行此操作,运行应用程序,如果它崩溃,请查看控制台窗口中导致崩溃的原因并将其发布回此处。emulator的问题是关于写入\u安全\u设置权限,我已将其添加到清单中。现在它说应用程序抛出securityException。我发现,要更改安全设置,应用程序的标志必须与手机本身相同,但我不确定此信息。所以我想在安卓系统中可能真的不可能做到这一点。