Question

When I connect directly after logging in everything works great. Then I store to SharedPreferences values request (first token to access login site - although I know it is not needed...), pin (pin also not needed), access_token and access_secret...

I try to make a connection using data stored SharedPreferences...

OAuthService service= new ServiceBuilder()
    .provider(FitbitApi.class)
    .apiKey( oauth_consumer_key )
    .apiSecret( oauth_consumer_secret )
    .build();
Log.d("TOKEN", access_token.getToken());
OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_ACTIVITIES_URL);
service.signRequest(access_token, request);

Response response = request.send();

and I receive error:

11-13 14:40:55.657: W/dalvikvm(9502): threadid=1: thread exiting with uncaught exception (group=0x418e8898)
11-13 14:40:55.657: E/AndroidRuntime(9502): FATAL EXCEPTION: main
11-13 14:40:55.657: E/AndroidRuntime(9502): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.iecom.fitbitgb/com.iecom.fitbitgb.FitBitLogin}: org.scribe.exceptions.OAuthConnectionException: There was a problem while creating a connection to the remote service.
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.access$700(ActivityThread.java:159)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.os.Looper.loop(Looper.java:137)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.main(ActivityThread.java:5419)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.lang.reflect.Method.invokeNative(Native Method)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.lang.reflect.Method.invoke(Method.java:525)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at dalvik.system.NativeStart.main(Native Method)
11-13 14:40:55.657: E/AndroidRuntime(9502): Caused by: org.scribe.exceptions.OAuthConnectionException: There was a problem while creating a connection to the remote service.
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.send(Request.java:70)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.send(Request.java:76)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.iecom.fitbitgb.FitBitCommunicator.getUserActivity(FitBitCommunicator.java:43)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.iecom.fitbitgb.FitBitLogin.onCreate(FitBitLogin.java:46)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.Activity.performCreate(Activity.java:5372)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
11-13 14:40:55.657: E/AndroidRuntime(9502):     ... 11 more
11-13 14:40:55.657: E/AndroidRuntime(9502): Caused by: android.os.NetworkOnMainThreadException
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1144)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.net.InetAddress.getAllByName(InetAddress.java:214)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Response.<init>(Response.java:29)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.doSend(Request.java:117)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.send(Request.java:66)
11-13 14:40:55.657: E/AndroidRuntime(9502):     ... 17 more

I believe that I do something wrong when newly constructing OAuthService... any idea?

Was it helpful?

Solution

This is your problem: Caused by: android.os.NetworkOnMainThreadException Since Android 4.0 you cannot make url connection on main thread. Use threads or AsyncTasks instead.

Cheers

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top