0
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.neo.gson">

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

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

HttpURLConnection crashes my app because internet permission is not granted even though I'm using tag in manifest file

It says no permissions requested

logcat extract:

08-08 16:50:32.167 3625-3625/com.example.neo.gson E/AndroidRuntime: FATAL EXCEPTION: main
                                                                Process: com.example.neo.gson, PID: 3625
                                                                java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.neo.gson/com.example.neo.gson.MainActivity}: android.os.NetworkOnMainThreadException
                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2434)
                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494)
                                                                    at android.app.ActivityThread.access$900(ActivityThread.java:157)
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                    at android.os.Looper.loop(Looper.java:148)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:5525)
                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
                                                                 Caused by: android.os.NetworkOnMainThreadException
                                                                    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)
                                                                    at java.net.InetAddress.lookupHostByName(InetAddress.java:436)
                                                                    at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
                                                                    at java.net.InetAddress.getAllByName(InetAddress.java:215)
                                                                    at com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
                                                                    at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:188)
                                                                    at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:157)
                                                                    at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:100)
                                                                    at com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:357)
                                                                    at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:340)
                                                                    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
                                                                    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
                                                                    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:433)
                                                                    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:384)
                                                                    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:231)
                                                                    at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
                                                                    at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java)
                                                                    at com.example.neo.gson.MainActivity.onCreate(MainActivity.java:47)
                                                                    at android.app.Activity.performCreate(Activity.java:6272)
                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387)
                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 
                                                                    at android.app.ActivityThread.access$900(ActivityThread.java:157) 
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 
                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                    at android.app.ActivityThread.main(ActivityThread.java:5525) 
                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 

can you please help?

I'm using Marshmallow and my targetSdkVersion is 23 I call HttpURLConnection inside onCreate method

Giorgio L
  • 75
  • 1
  • 8
  • Do you use marshmallow? where do you call your httpurlconnection? – Nir Duan Aug 08 '16 at 15:32
  • 1
    "HttpURLConnection crashes my app" -- please edit your question and post a [mcve], including the code that is crashing and the complete Java stack trace of the crash. "It says no permissions requested" -- that lists `dangerous` permissions; neither of your permissions has that `protectionLevel`. – CommonsWare Aug 08 '16 at 15:34
  • May I ask for which Android version is your target compile version for your application project? – S.W. Aug 08 '16 at 15:36
  • Yes I use Marshmallow, targetSdkVersion 23 – Giorgio L Aug 08 '16 at 15:47
  • I call HttpURLConnection inside onCreate method – Giorgio L Aug 08 '16 at 15:47
  • You cannot execute any network calls on the main thread. Use an AsyncTask to execute your network call. – JoxTraex Aug 08 '16 at 16:41
  • @JoxTraex thank you! It worked with AsyncTask!!! It doesn't crash but permissions are still not granted... – Giorgio L Aug 08 '16 at 19:48
  • @OP I posted it as an answer for clarity. Please accept it as able :) – JoxTraex Aug 09 '16 at 01:48
  • Possible duplicate of [NetWork On main thread Exception](http://stackoverflow.com/questions/15653739/network-on-main-thread-exception) – JoxTraex Aug 09 '16 at 01:49

2 Answers2

0

Problem was solved thanks to @JoxTraex

You cannot execute any network calls on the main thread. Use an AsyncTask to execute your network call.

Giorgio L
  • 75
  • 1
  • 8
0

You cannot execute any network calls on the main thread. Use an AsyncTask to execute your network call.

JoxTraex
  • 13,423
  • 6
  • 32
  • 45