【问题标题】:Establish connection with Scribe and SharedPreferences与 Scribe 和 SharedPreferences 建立连接
【发布时间】:2013-11-26 03:37:45
【问题描述】:

当我登录后直接连接时,一切正常。然后我存储到 SharedPreferences 值请求(访问登录站点的第一个令牌 - 虽然我知道它不需要...)、pin(也不需要 pin)、access_token 和 access_secret...

我尝试使用存储的 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();

我收到错误:

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

我相信我在新建 OAuthService 时做错了什么……有什么想法吗?

【问题讨论】:

  • 只是添加...所有首选项都已设置...
  • 请做一个关于“在Android中集成Fitbit”的教程。

标签: android oauth scribe fitbit


【解决方案1】:

这是你的问题:Caused by: android.os.NetworkOnMainThreadException 自 Android 4.0 起,您无法在主线程上建立 url 连接。请改用threadsAsyncTasks

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 2010-12-21
    相关资源
    最近更新 更多