输入调度超时(等待,因为没有窗口具有焦点,但有一个焦点应用程序最终可能在完成启动时添加一个窗口。)
你好!我从几个用户那里收到了这个奇怪的 ANR 报告。不幸的是,我对 ANR 报告的了解非常有限,我希望有人可以帮助我了解造成这种情况的原因
"main" tid=1 Waiting
"main" prio=5 tid=1 Waiting
| group="main" sCount=1 dsCount=0 flags=1 obj=0x733b6610 self=0x7b2cebea00
| sysTid=5982 nice=-10 cgrp=default sched=0/0 handle=0x7bb1b3b9a8
| state=S schedstat=( 895549085 117045629 1679 ) utm=75 stm=13 core=7 HZ=100
| stack=0x7fc1071000-0x7fc1073000 stackSize=8MB
| held mutexes=
at java.lang.Object.wait (Native method)
- waiting on <0x06cee88a> (a java.lang.Object)
at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x06cee88a> (a java.lang.Object)
at sun.misc.Unsafe.park (Unsafe.java:358)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.FutureTask.awaitDone (FutureTask.java:450)
at java.util.concurrent.FutureTask.get (FutureTask.java:192)
at android.os.AsyncTask.get (AsyncTask.java:542)
at trai.gov.in.dnd.app.DNDMasterActivityNEW.forceUpdateAppDialog (DNDMasterActivityNEW.java:281)
at …Run Code Online (Sandbox Code Playgroud) 我正在使用此代码获取Play商店应用的版本,但这导致我的应用挂起。请指定获取Play商店应用版本的其他方法,或者我如何使用此代码使应用无法挂起并成功运行。提前致谢。
public class VersionChecker extends AsyncTask<String, String, String> {
private String newVersion;
@Override
protected String doInBackground(String... params) {
try {
newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + "trai.gov.in.dnd" + "&hl=en")
.timeout(30000)
.userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
.referrer("http://www.google.com")
.get()
.select("div[itemprop=softwareVersion]")
.first()
.ownText();
} catch (IOException e) {
e.printStackTrace();
}
return newVersion;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我从asynctask获取版本的代码
VersionChecker versionChecker = new VersionChecker();
try
{ String appVersionName = BuildConfig.VERSION_NAME;
String mLatestVersionName = versionChecker.execute().get();
if (versionChecker.compareVersionNames(appVersionName, mLatestVersionName) == -1)
{
showAppUpdateDialog();
}
} catch (InterruptedException …Run Code Online (Sandbox Code Playgroud)