繁体   English   中英

java.lang.SecurityException:权限被拒绝(缺少INTERNET权限?),即使在android清单中添加了此权限

[英]java.lang.SecurityException: Permission denied (missing INTERNET permission?) even with adding this permission in android manifest

我知道很多其他人也曾问过类似的问题。 但是我对此深表歉意,但是我的问题并没有通过stackoverflow或其他网站上的先前答案得到解决:这是我的清单文件:

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

我的课上有这段代码:

JSONObject json = jParser.makeHttpRequest("http://sirsaleh.com/atu/atu.php", "GET", params);

但是我每次都会看到此运行时错误:

09-28 16:22:28.579    9558-9597/ir.atue.atufeed E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
java.lang.RuntimeException: An error occured while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:299)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
        at java.util.concurrent.FutureTask.run(FutureTask.java:239)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
        at java.lang.Thread.run(Thread.java:841)
 Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
        at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
        at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
        at java.net.InetAddress.getAllByName(InetAddress.java:214)
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
        at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
        at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:612)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:495)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:473)
        at ir.atue.atufeed.JSONParser.makeHttpRequest(JSONParser.java:65)
        at ir.atue.atufeed.takeit$LoadAllProducts.doInBackground(takeit.java:106)
        at ir.atue.atufeed.takeit$LoadAllProducts.doInBackground(takeit.java:84)
        at android.os.AsyncTask$2.call(AsyncTask.java:287)
        at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:841)
 Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
        at libcore.io.Posix.getaddrinfo(Native Method)
        at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:61)
        at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
            at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
            at java.net.InetAddress.getAllByName(InetAddress.java:214)
            at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
            at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
            at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
            at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
            at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:612)
            at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:495)
            at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:473)
            at ir.atue.atufeed.JSONParser.makeHttpRequest(JSONParser.java:65)
            at ir.atue.atufeed.takeit$LoadAllProducts.doInBackground(takeit.java:106)
            at ir.atue.atufeed.takeit$LoadAllProducts.doInBackground(takeit.java:84)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:841)
 Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)

通过以下方式将您的许可放入清单中:

<manifest ... >

 ...

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

 <application ...

</manifest>

您在其上运行该应用程序的设备(模拟器,Android手机等)可能无法访问您在代码中定义的网络地址。

引起原因:libcore.io.GaiException:getaddrinfo失败:EAI_NODATA(没有与主机名关联的地址)

遇到上述错误时,请尝试使用设备的本机浏览器打开http地址,并确保设备可以访问该地址。 否则,也许您应该检查设备的互联网连接和代理设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM