在A.java里写了如下一段代码检测网络,在onCreate能正常获得"Mobile"值;然后在B.java onCreate里写了A gnws=new A();gnws.getnetworkstate();出现了如
“System services not available to Activities before onCreate()” 引用后就不能使用了?求解,新手!!!!
public String getnetworkstate() {
String returnint;
try {
ConnectivityManager connectivityManager = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo net = connectivityManager.getActiveNetworkInfo();
if (net == null) {
returnint = "not";
} else {
returnint = net.getTypeName();
} } catch (Exception e) {
// TODO: handle exception
Log.v("程序出错:", e.getMessage());
returnint="not";
}
return returnint;
}
“System services not available to Activities before onCreate()” 引用后就不能使用了?求解,新手!!!!
public String getnetworkstate() {
String returnint;
try {
ConnectivityManager connectivityManager = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo net = connectivityManager.getActiveNetworkInfo();
if (net == null) {
returnint = "not";
} else {
returnint = net.getTypeName();
} } catch (Exception e) {
// TODO: handle exception
Log.v("程序出错:", e.getMessage());
returnint="not";
}
return returnint;
}
解决方案 »
- android 如何让一个父视图屏蔽其所有子视图的焦点
- 为什么一个在一台机器的eclipse上运行良好的项目放在另一台上就出错了
- 困惑……怎么收不到数据……
- TabWidget自定义背景图片
- bitmap.getWidth()的大小问题
- 布局文件问题:布局文件eclipse插件显示正常,模拟器中显示不正常
- 新人求教!!!如何获得发送邮件的android permission
- Android系统是如何获得U盘挂载路径的?
- Android 4.4.3下webview无法加载adobe flash player 插件
- Eclipse 里报 did you mean to use @+id instead of @+android:id?
- 点击浏览按钮在相册中浏览不到自定义相机拍到的图片,开机后就能看见
- android下的v4l2 select timeout问题
解决方法:
将A代码改为:
public String getnetworkstate(Context context) {
String returnint;
try {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo net = connectivityManager.getActiveNetworkInfo();
if (net == null) {
returnint = "not";
} else {
returnint = net.getTypeName();
} } catch (Exception e) {
// TODO: handle exception
Log.v("程序出错:", e.getMessage());
returnint="not";
}
return returnint;
}
然后在B.java onCreate里写了A gnws=new A();gnws.getnetworkstate(XXXXActivity.this);
但问题在于你自己new 了一个Activity实例,例如 Activity A = new ActivityXXX(),显然,对应它而言,它的Context属性来说是无效的,即 ConnectivityManager connectivityManager = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);这段代码是有问题的。
修改原因同LS 。 预知原因,请看我的这篇博客:Android中Context详解 ---- 你所不知道的Context
http://blog.csdn.net/qinjuning/article/details/7310620