【发布时间】:2014-06-06 12:28:00
【问题描述】:
我在一个 android 库项目上工作了数周,到目前为止没有任何问题。 但现在我实现了一些代码来检查网络状态,如下所示:
public Boolean getCurrentNetworkStatus(Activity activity) {
ConnectivityManager cm;
NetworkInfo netInfo = null;
try {
cm = (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);
netInfo = cm.getActiveNetworkInfo();
} catch (Exception e) {
Log.d("MOCK", e);
}
if(netInfo != null && netInfo.isConnected()) {
return True;
}
return False;
}
我的 log.d 给出了我缺少 ACCES_NETWORK_STATE 权限的错误。这是麻烦开始的地方..
打开我的 Manifest.xml 时,我无法添加权限(已经有 3 个其他权限)。当我单击添加时,它会显示一个空窗口:在顶层创建一个新元素,由于缺少描述符而在临时描述符中。
尝试仅向清单添加权限不起作用。代码没有抱怨,只是说我仍然缺少权限。
除此之外,Manifest.xml 开始给我警告:应该明确设置 android:icon,没有默认值。但是在图书馆项目上工作我不需要图标。 (也从来不需要)。
我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nl.test.projectInternet"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<application
android:label="projectInternet"
android:allowBackup="false">
<activity android:name=".projectInternet"
android:label="projectInternet">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>
收到的确切异常是:用户 10021 和当前进程都没有 android.permission.ACCES_NETWORK_STATE。
任何人都知道我做错了什么/应该做些什么来解决这个问题?
请记住:代码在其他 android 项目上正常运行。现在我正在开发一个图书馆,但我无法添加权限!简单地将其添加到 .xml 是行不通的。
【问题讨论】:
-
你能发布你的AndroidManifest.xml的内容吗?
-
添加此权限并清理项目
-
已经说过:尝试将权限添加到清单中不起作用。代码没有抱怨,只是说我仍然缺少权限。
-
您是否缺少结束 标记,或者只是复制错误?清单中的一些拼写错误也可能导致奇怪的行为。
-
是的,复制一份,将错误从代码粘贴到 stackoverflow
标签: android permissions android-activity manifest