java looper_java-无法在某些设备上尚未调用Looper.prepare...
我知道已经有很多这样的问题,但是我看不出我做错了什么.该应用程序崩溃,但未显示任何内容.另外,该错误不会在我的设备或仿真器上发生.仅在某些设备上(例如30-40%?).
无法在未调用Looper.prepare()的线程内创建处理程序
MainActivity.java
public class MainActivity extends Activity implements Runnable {
Gebruiker gebruiker = new Gebruiker();
private DatabaseHelper db;
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
if(isOnline()){
downloadData();
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("Deze app vereist een actieve verbinding met het internet!")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
android.os.Process.killProcess(android.os.Process.myPid());
}
});
AlertDialog alert = builder.create();
alert.show();
}
db = new DatabaseHelper(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private ProgressDialog pDialog;
public void downloadData() {
pDialog = ProgressDialog.show(this,
"Controleren op bestaande gebruiker..", "Even geduld", true,
false);
Thread thread = new Thread(this);
thread.start();
}
public void run() {
// add downloading code here
HttpReader httpReader = new HttpReader();
String url = "*****";
url += Secure.getString(getApplicationContext().getContentResolver(),
Secure.ANDROID_ID);
JsonHelper jsonHelper = new JsonHelper();
gebruiker = jsonHelper.getGebruiker((httpReader.getTextFromUrl(url)
.trim()));
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
pDialog.dismiss();
if (gebruiker == null) {
// ga naar aanmaken gebruiker
Intent intent = new Intent(MainActivity.this,
AanmakenUser.class);
startActivity(intent);
} else {
// ga naar hoofdmenu
db.droppen();
db.insertGebruiker(gebruiker);
Intent intent = new Intent(MainActivity.this, Hoofdmenu.class);
startActivity(intent);
// ga naar menu
}
}
};
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
logcat的
01-10 16:12:16.444: E/AndroidRuntime(6090): FATAL EXCEPTION: Thread-10
01-10 16:12:16.444: E/AndroidRuntime(6090): java.lang.ExceptionInInitializerError
01-10 16:12:16.444: E/AndroidRuntime(6090): at db.jochen.quizapp.MainActivity.run(MainActivity.java:68)
01-10 16:12:16.444: E/AndroidRuntime(6090): at java.lang.Thread.run(Thread.java:1019)
01-10 16:12:16.444: E/AndroidRuntime(6090): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
01-10 16:12:16.444: E/AndroidRuntime(6090): at android.os.Handler.(Handler.java:121)
01-10 16:12:16.444: E/AndroidRuntime(6090): at android.os.AsyncTask$InternalHandler.(AsyncTask.java:421)
01-10 16:12:16.444: E/AndroidRuntime(6090): at android.os.AsyncTask$InternalHandler.(AsyncTask.java:421)
01-10 16:12:16.444: E/AndroidRuntime(6090): at android.os.AsyncTask.(AsyncTask.java:152)
01-10 16:12:16.444: E/AndroidRuntime(6090): ... 2 more
01-10 16:12:16.454: D/dalvikvm(6090): GC_CONCURRENT freed 79K, 48% free 2843K/5379K, external 3695K/4614K, paused 2ms+5ms
01-10 16:12:16.454: W/ActivityManager(278): Force finishing activity db.jochen.quizapp/.MainActivity
01-10 16:12:16.544: E/SkLayout_wtle(6090): ellipsis failed line number does not match 1 0
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: finish the match exclude list procedure, but can not match any one
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: GoDormant? 0
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: Threads Status Mutex Locked in fdm_main_loop
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: Threads Status Mutex Unlocked in fdm_main_loop
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: finish the match exclude list procedure, but can not match any one
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: GoDormant? 0
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: Threads Status Mutex Locked in fdm_main_loop
01-10 16:12:16.624: D/fast-dormancy(165): [FDM]: Threads Status Mutex Unlocked in fdm_main_loop
01-10 16:12:16.624: I/ActivityManager(278): No longer want com.sonyericsson.tvlauncher (pid 4961): hidden #16
01-10 16:12:16.664: E/WindowManager(6090): Activity db.jochen.quizapp.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@2afd4aa0 that was originally added here
01-10 16:12:16.664: E/WindowManager(6090): android.view.WindowLeaked: Activity db.jochen.quizapp.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@2afd4aa0 that was originally added here
01-10 16:12:16.664: E/WindowManager(6090): at android.view.ViewRoot.(ViewRoot.java:269)
01-10 16:12:16.664: E/WindowManager(6090): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
01-10 16:12:16.664: E/WindowManager(6090): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
01-10 16:12:16.664: E/WindowManager(6090): at android.view.Window$LocalWindowManager.addView(Window.java:424)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.Dialog.show(Dialog.java:241)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.ProgressDialog.show(ProgressDialog.java:109)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.ProgressDialog.show(ProgressDialog.java:97)
01-10 16:12:16.664: E/WindowManager(6090): at db.jochen.quizapp.MainActivity.downloadData(MainActivity.java:59)
01-10 16:12:16.664: E/WindowManager(6090): at db.jochen.quizapp.MainActivity.onCreate(MainActivity.java:33)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.ActivityThread.access$1500(ActivityThread.java:121)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
01-10 16:12:16.664: E/WindowManager(6090): at android.os.Handler.dispatchMessage(Handler.java:99)
01-10 16:12:16.664: E/WindowManager(6090): at android.os.Looper.loop(Looper.java:138)
01-10 16:12:16.664: E/WindowManager(6090): at android.app.ActivityThread.main(ActivityThread.java:3701)
01-10 16:12:16.664: E/WindowManager(6090): at java.lang.reflect.Method.invokeNative(Native Method)
01-10 16:12:16.664: E/WindowManager(6090): at java.lang.reflect.Method.invoke(Method.java:507)
01-10 16:12:16.664: E/WindowManager(6090): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
01-10 16:12:16.664: E/WindowManager(6090): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
01-10 16:12:16.664: E/WindowManager(6090): at dalvik.system.NativeStart.main(Native Method)
java looper_java-无法在某些设备上尚未调用Looper.prepare...相关推荐
- 【Android】java.lang.AssertionError use looper thread, must call Looper.prepare() first!异常分析
java.lang.AssertionError: use looper thread, must call Looper.prepare() first! 在消息处理中必须先调用Looper类的pr ...
- java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() ...
- java图像分类源码_在Android设备上使用NCNN图像分类的demo
[实例简介] 在Android设备上使用NCNN图像分类的demo,是一个Android项目 [实例截图] [核心代码] NCNN1 └── NCNN1 ├── app │ ├── app.iml ...
- Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的JSON数据
Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的数据 一个简单的模型,在Android手机上部署一个Netty写的服务器,绑定端口9000,等待客户端 ...
- java filebody出错_java-FileNotFoundException打开失败:Samsung设备上...
我想通过从文件管理器中选择文件来将文件上传到服务器,所以我通过使用此代码单击"按钮"来打开文件管理器, button_upload_attachment.setOnClickLis ...
- 此 Google 帐号尚未与设备关联。要安装应用,请先访问设备上的 Play 商店应用。 了解详情(已解决)
当你在谷歌Play商店想要下载一些手机应用时,经常会有跳提示: 此 Google 帐号尚未与设备关联.要安装应用,请先访问设备上的 Play 商店应用. 了解详情 此时需要打开你的Chrome浏览器, ...
- 此 Google 帐号尚未与设备关联。要安装应用,请先访问设备上的 Play 商店应用
此 Google 帐号尚未与设备关联.要安装应用,请先访问设备上的 Play 商店应用 解决方案: 我在google浏览器上下载个apk文件却遇到了这种情况 怎么办呢? 1.下载并安装chrome浏览 ...
- 谷歌:此Google帐户尚未与设备相关联安装应用程序之前请访问您设备上的googleplay商店应用程序怎么解决?
部分用户使用谷歌google帐号登录googleplay应用商店,下载应用时遇到问题提示:此 Google 帐户尚未与设备相关联.安装应用程序之前,请访问您设备上的 Play 商店应用程序.(英文提示 ...
- java抽样器处于非活动状态_Codename One中的按钮在Android实际设备上处于非活动状态,但在模拟器下工作...
在我的Codename One应用程序中,我有2个表单A和B.表单包括每10秒更新一次的MapContainer和一个浮动按钮 . 如果用户点击浮动按钮,他们可以拍照,然后显示一个对话框,如果他们选择 ...
最新文章
- CentOS 7下源码编译安装新版本内核
- 2012年A题葡萄酒的评价论文与代码
- 微信小程序部分功能介绍和实现
- 计算机原码、反码、补码详解
- 11.python并发入门(part5 event对象)
- LeetCode OJ 之 Valid Anagram
- 55 - I. 二叉树的深度
- 《李焕英》票房反超,全靠《唐探3》衬托?
- 20145207《Java程序设计》实验二(Java面向对象程序设计)实验报告
- EXP 导出出错解决方案
- 2021-2025年中国电动门锁行业市场供需与战略研究报告
- java发微信字体颜色,微信公众号 模板消息 字体颜色 错位?
- 【HDU_P3530】Subsequence
- java后台json集合传前台js
- librdkafka自动源码编译
- 串口是怎样传输数据的
- 使用excel2007做聚光灯
- 双光耦开关电源电路图_开关电源中的光耦经典电路设计分析
- Microsoft office 2013安装图解
- 收藏一个好用的免费在线生成描字帖网站