作者Dong0129 (阿东)
看板java
标题[问题] Looper.prepare()
时间Fri Jul 6 11:46:35 2018
各位版友好,
最近在维护前辈的code时发生一个问题如下,
java.lang.RuntimeException: Can't create handler inside thread that has not ca
lled Looper.prepare()
请问该怎麽解决呢...?
有其他更好的写法吗?
程式码如下
public void getStatus(String jsonString, Callback cb) throws RemoteException {
? ? ? ? Log.d(TAG, String.format("getStatus: %s : %s", "RECE_FROM_AGENT", json
String));
? ? ? ? this.functionString = "getStatus";
? ? ? ? this.jsonData = jsonString;
? ? ? ? this.Callback = cb;
? ? ? ? this.mHandler = new Handler() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void handleMessage(Message msg) {
? ? ? ? ? ? ? ? Bundle b;
? ? ? ? ? ? ? ? if (msg.what == 1) {
? ? ? ? ? ? ? ? ? ? b = msg.getData();
? ? ? ? ? ? ? ? ? ? Log.d("data key 1", String.valueOf(b.getInt("k1")));
? ? ? ? ? ? ? ? ? ? resultString = String.valueOf(b.getString("returnString"))
;
? ? ? ? ? ? ? ? ? ? try {
? ? ? ? ? ? ? ? ? ? ? ? if (Boolean.valueOf(b.getBoolean("successFlag"))) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? mCb.onSuccess(resultString);
? ? ? ? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? mCb.onError(resultString);
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? } catch (RemoteException e) {
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? super.handleMessage(msg);
? ? ? ? ? ? }
? ? ? ? };
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.137.54.10
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1530848798.A.C1B.html
※ 编辑: Dong0129 (114.137.54.10), 07/06/2018 11:49:23
1F:→ y3k: HandlerThread() 07/06 13:41
2F:→ cha122977: 同上,把那个Thread换成HandlerThread 07/10 20:35