我知道已经有很多这样的问题,但是我看不出我做错了什么.该应用程序崩溃,但未显示任何内容.另外,该错误不会在我的设备或仿真器上发生.仅在某些设备上(例如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...相关推荐

  1. 【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 ...

  2. 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() ...

  3. java图像分类源码_在Android设备上使用NCNN图像分类的demo

    [实例简介] 在Android设备上使用NCNN图像分类的demo,是一个Android项目 [实例截图] [核心代码] NCNN1 └── NCNN1 ├── app │   ├── app.iml ...

  4. Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的JSON数据

    Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的数据 一个简单的模型,在Android手机上部署一个Netty写的服务器,绑定端口9000,等待客户端 ...

  5. java filebody出错_java-FileNotFoundException打开失败:Samsung设备上...

    我想通过从文件管理器中选择文件来将文件上传到服务器,所以我通过使用此代码单击"按钮"来打开文件管理器, button_upload_attachment.setOnClickLis ...

  6. 此 Google 帐号尚未与设备关联。要安装应用,请先访问设备上的 Play 商店应用。 了解详情(已解决)

    当你在谷歌Play商店想要下载一些手机应用时,经常会有跳提示: 此 Google 帐号尚未与设备关联.要安装应用,请先访问设备上的 Play 商店应用. 了解详情 此时需要打开你的Chrome浏览器, ...

  7. 此 Google 帐号尚未与设备关联。要安装应用,请先访问设备上的 Play 商店应用

    此 Google 帐号尚未与设备关联.要安装应用,请先访问设备上的 Play 商店应用 解决方案: 我在google浏览器上下载个apk文件却遇到了这种情况 怎么办呢? 1.下载并安装chrome浏览 ...

  8. 谷歌:此Google帐户尚未与设备相关联安装应用程序之前请访问您设备上的googleplay商店应用程序怎么解决?

    部分用户使用谷歌google帐号登录googleplay应用商店,下载应用时遇到问题提示:此 Google 帐户尚未与设备相关联.安装应用程序之前,请访问您设备上的 Play 商店应用程序.(英文提示 ...

  9. java抽样器处于非活动状态_Codename One中的按钮在Android实际设备上处于非活动状态,但在模拟器下工作...

    在我的Codename One应用程序中,我有2个表单A和B.表单包括每10秒更新一次的MapContainer和一个浮动按钮 . 如果用户点击浮动按钮,他们可以拍照,然后显示一个对话框,如果他们选择 ...

最新文章

  1. CentOS 7下源码编译安装新版本内核
  2. 2012年A题葡萄酒的评价论文与代码
  3. 微信小程序部分功能介绍和实现
  4. 计算机原码、反码、补码详解
  5. 11.python并发入门(part5 event对象)
  6. LeetCode OJ 之 Valid Anagram
  7. 55 - I. 二叉树的深度
  8. 《李焕英》票房反超,全靠《唐探3》衬托?
  9. 20145207《Java程序设计》实验二(Java面向对象程序设计)实验报告
  10. EXP 导出出错解决方案
  11. 2021-2025年中国电动门锁行业市场供需与战略研究报告
  12. java发微信字体颜色,微信公众号 模板消息 字体颜色 错位?
  13. 【HDU_P3530】Subsequence
  14. java后台json集合传前台js
  15. librdkafka自动源码编译
  16. 串口是怎样传输数据的
  17. 使用excel2007做聚光灯
  18. 双光耦开关电源电路图_开关电源中的光耦经典电路设计分析
  19. Microsoft office 2013安装图解
  20. 收藏一个好用的免费在线生成描字帖网站

热门文章

  1. Zookeeper小解
  2. 2019.1.21【NOIP提高组】模拟B组 JZOJ 4210 我才不是萝莉控呢
  3. 北斗卫星同步时钟在分布式系统时钟同步的重要性
  4. 胡忭利c语言第七章课后答案,c语言程序设计高职
  5. CSDN写博客字体颜色、大小怎么写?
  6. 电子计算机师德风范 论文,师德师风论文2000字
  7. 按数字空位格式输出名字,mov2jpg
  8. Android通讯录模糊匹配搜索实现(号码、首字母,移动应用开发课程设计心得
  9. Resin 配置与使用
  10. 数学建模--数学规划模型Python实现