使用SDK版本时,为什么会出现异常?

时间:2013-01-30 20:17:25

标签: android sdk permissions

为什么我必须删除

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

制作

<uses-permission android:name="android.permission.INTERNET" />

工作?

如果我同时离开,我在使用试图访问网络的功能时会遇到异常。

2 个答案:

答案 0 :(得分:2)

由于你没有给我们一个堆栈跟踪,我给出了一个猜测的答案。

我的猜测是你得到NetworkOnMainThreadException。当您尝试在主UI线程上使用网络时,会在Android 3.0及更高版本上发生此异常。当您将<uses-sdk>标记添加到您的应用时,您可以针对API 16(高于Honeycomb)构建您的应用。这也解释了为什么你没有在Gingerbread上看到例外。

要解决此问题,请将所有网络代码移至ThreadAsyncTask

答案 1 :(得分:-1)

这是不正确的。您无需删除

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

确保

<uses-permission android:name="android.permission.INTERNET" />

放在

之后
<uses-sdk>

标签和

之前
<application>

标签

您也可以参考Adding the uses-sdk fields in Androids manifest file causes crash