【问题标题】:Android connect to website using HttpUrlConnection failsAndroid 使用 HttpUrlConnection 连接到网站失败
【发布时间】:2012-12-22 20:50:04
【问题描述】:

我正在尝试从我正在创建的 Android 应用程序中连接到我服务器上的网页,但由于某种原因它似乎在一条线上失败了。

Java 代码:

URL url = new URL("http://redsquirrelsoftware.co.uk/android/assignments/androidlogin.php");
HttpURLConnection hConnection = (HttpURLConnection)url.openConnection();
HttpURLConnection.setFollowRedirects(true);

hConnection.setDoOutput(true);
hConnection.setRequestMethod("POST");   

// ERROR OCCURS ON NEXT LINE
PrintStream ps = new PrintStream(hConnection.getOutputStream());
ps.print("email=" + LoginActivity.email + "&" + "pword=" + LoginActivity.password);
ps.close();
hConnection.connect();

LogCat 响应给了我一个 IllegalStateException - 无法访问应用程序密钥,我以前从未见过,也不知道如何修复它。它还提到了 TimerTask.run(),我在我的任何代码中都没有 - 猜测它是 Android 自己的一些代码?

01-08 21:28:55.300: E/MtpService(17770): TimerTask.run(): mReason =1
01-08 21:28:57.990: E/InputDispatcher(165): channel '41621cb0 uk.co.redsquirrelsoftware.assignmenttracker/uk.co.redsquirrelsoftware.assignmenttracker.LoginActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
01-08 21:29:01.870: E/GetJar SDK(17935): PackageMonitor: doOnReceive(): failed
01-08 21:29:01.870: E/GetJar SDK(17935): java.lang.IllegalStateException: Unable to access the application key
01-08 21:29:01.870: E/GetJar SDK(17935):    at com.getjar.sdk.data.metadata.PackageMonitor.doOnReceive(PackageMonitor.java:113)
01-08 21:29:01.870: E/GetJar SDK(17935):    at com.getjar.sdk.data.metadata.PackageMonitor.access$000(PackageMonitor.java:62)
01-08 21:29:01.870: E/GetJar SDK(17935):    at com.getjar.sdk.data.metadata.PackageMonitor$1.run(PackageMonitor.java:87)
01-08 21:29:01.870: E/GetJar SDK(17935):    at java.lang.Thread.run(Thread.java:856)
01-08 21:29:02.230: E/GetJar SDK(17918): PackageMonitor: doOnReceive(): failed
01-08 21:29:02.230: E/GetJar SDK(17918): java.lang.IllegalStateException: Unable to access the application key
01-08 21:29:02.230: E/GetJar SDK(17918):    at com.getjar.sdk.data.metadata.PackageMonitor.doOnReceive(PackageMonitor.java:117)
01-08 21:29:02.230: E/GetJar SDK(17918):    at com.getjar.sdk.data.metadata.PackageMonitor.access$000(PackageMonitor.java:59)
01-08 21:29:02.230: E/GetJar SDK(17918):    at com.getjar.sdk.data.metadata.PackageMonitor$1.run(PackageMonitor.java:84)
01-08 21:29:02.230: E/GetJar SDK(17918):    at java.lang.Thread.run(Thread.java:856)
01-08 21:29:02.470: E/GetJar SDK(17918): PackageMonitor: doOnReceive(): failed
01-08 21:29:02.470: E/GetJar SDK(17918): java.lang.IllegalStateException: Unable to access the application key
01-08 21:29:02.470: E/GetJar SDK(17918):    at com.getjar.sdk.data.metadata.PackageMonitor.doOnReceive(PackageMonitor.java:117)
01-08 21:29:02.470: E/GetJar SDK(17918):    at com.getjar.sdk.data.metadata.PackageMonitor.access$000(PackageMonitor.java:59)
01-08 21:29:02.470: E/GetJar SDK(17918):    at com.getjar.sdk.data.metadata.PackageMonitor$1.run(PackageMonitor.java:84)
01-08 21:29:02.470: E/GetJar SDK(17918):    at java.lang.Thread.run(Thread.java:856)
01-08 21:29:02.500: E/GetJar SDK(17935): PackageMonitor: doOnReceive(): failed
01-08 21:29:02.500: E/GetJar SDK(17935): java.lang.IllegalStateException: Unable to access the application key
01-08 21:29:02.500: E/GetJar SDK(17935):    at com.getjar.sdk.data.metadata.PackageMonitor.doOnReceive(PackageMonitor.java:113)
01-08 21:29:02.500: E/GetJar SDK(17935):    at com.getjar.sdk.data.metadata.PackageMonitor.access$000(PackageMonitor.java:62)
01-08 21:29:02.500: E/GetJar SDK(17935):    at com.getjar.sdk.data.metadata.PackageMonitor$1.run(PackageMonitor.java:87)
01-08 21:29:02.500: E/GetJar SDK(17935):    at java.lang.Thread.run(Thread.java:856)
01-08 21:29:17.530: E/dalvikvm(18081): Could not find class 'com.google.common.collect.HashMultiset', referenced from method com.fasterxml.jackson.datatype.guava.GuavaDeserializers.findCollectionDeserializer
01-08 21:29:17.540: E/dalvikvm(18081): Could not find class 'com.google.common.collect.EnumBiMap', referenced from method com.fasterxml.jackson.datatype.guava.GuavaDeserializers.findMapDeserializer
01-08 21:29:17.540: E/dalvikvm(18081): Could not find class 'com.google.common.collect.ImmutableSetMultimap', referenced from method com.fasterxml.jackson.datatype.guava.GuavaDeserializers.findMapLikeDeserializer
01-08 21:29:17.540: E/dalvikvm(18081): Could not find class 'com.google.common.collect.Table', referenced from method com.fasterxml.jackson.datatype.guava.GuavaDeserializers.findMapLikeDeserializer

关于如何修复它的任何建议? 干杯

【问题讨论】:

标签: java android web httpurlconnection


【解决方案1】:

我认为日志中的相关行是:

01-08 21:28:57.990: E/InputDispatcher(165): 频道 '41621cb0 uk.co.redsquirrelsoftware.assignmenttracker/uk.co.redsquirrelsoftware.assignmenttracker.LoginActivity (server)' ~ 频道已无法恢复,将被处理掉!

查看此问题的公认答案:

Error: Channel is unrecoverably broken and will be disposed! (PhoneGap)

【讨论】:

  • 嗯...我看了那个问题,但在这种情况下并没有真正的帮助。您知道什么会导致通道不可恢复地中断,以便我可以查看所有其他代码,看看那里是否有什么东西破坏了它?
猜你喜欢
  • 2019-10-18
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多