1.fragment not attached to activity 異常
原因:因為fragment在還沒有attach到acitivity時,呼叫了諸如getresource()方法 如 getresources().getstring(r.string.a);
解決方案,在獲取資源之前呼叫isadded()方法,判斷fragment 是否被新增到所屬的activity,新增返回true,反之,返回false。
2. unable to start receiver 不能啟動broadcastreceiver
原因:使用activity以外的context來startactivity時,必須制定intent.flag_activity_new_task , 如,在broadcastreceiver中啟動乙個activity,intent in=new intent(xx,xx.class); intent.setflags(intent.flag_activity_new_task); context.startactivity(intent);
3.unable to instantiate receiver 找不到服務
原因是 manifest中對應的包名不對。
4.writing serializable object(name=***) 物件不支援序列化
原因:某個類沒有 implements serializable 或者沒有implements parcelable介面
注意的是,jsonobjecthe jsonarray不支援序列化
5.classnotfoundexception when unmarshalling 序列化時未指定classloader
原因:在使用parcelable機制的時候,會出現。如:
public class myparcelable implements parcelable
}7.unable to add window android.view .viewrootimp1$w... --permission denied for this window type 在使用windowmanager.layoutparams.type_alert 自定義彈出框的時候,沒有加許可權。
在manifest中加入system_aler_window和system_overlay_window許可權 前者允許應用使用system_aler_window開啟視窗,後者允許使用窗體覆蓋window上。
8.unstatisfiedlinkerror 專案中so檔案麼有載入到,libs下面沒有匯入.so檔案或者沒有導全。
9.no permission to modify thread 沒有加許可權
packagemanager pm=getpackagemanager();
boolean haspermission=pm.checkpermission(manifest.permisson.call_phone,getpackagename())==packagemanager.permission_granted;
如果haspermission返回的是true 證明有這個許可權
if(haspermission)
10.securityexception intent 中太大
用intent進行傳值的時候,盡量不要超過1mb的資料,盡量不要傳遞bitmap.
11.activitynotfoundexception unable to find explicit activity class;
當開啟系統wifi設定會報此錯誤。 原因是,4.0以上把原來的開啟網路設定方式捨棄了。
if(build.version.sdk_int>13)else
12.service intent must be explicit 啟動服務異常
android公升級到5.0以後會發生,應該用下面的**啟動service
intent inttent=new intent();
intent.setaction("your action name");
intent.setaction(getpackagename());
context.startservice(intent);
13.json解析異常
getstring("key"); key在json字串中不存在,此種解析會丟擲異常
optstring("***x");key在json字串中不存在,此種解析會返回空
getarray()與optarray也是如此,建議用後者。
14.no package identifier when getting value for resource number ...
layouinflater.from(context).inflate();此方法一定不能再父類或者虛類中呼叫
如:view view =layoutinflater.from(context).inflate(r.layout.***,this,true);
android系統就會搞不明白這個this是誰,所以不能這麼寫。
15.android.content.res.resources$notfoundexception: string resource id #0x1
此錯誤為***.settext(a),引數a是int型別 應該為***.settext(string.value(a))或者***.settext(a+「」)
16.android 用webview載入資料時,報android 網頁無法載入 net::err_timed_out
原因是在開**。
布局檔案命名的時候不可是大寫字母,只允許是a-z 0-9和下劃線
error:(2) error retrieving parent for item: no resource found that matches the given name 'android:widget.material.button.colored'.
此錯誤背景是,專案中運用到了recyclerview,出現這個問題的原因是:
19.webview載入url的時候,報登入過期,此時webview的loadurl方法,相當於get請求,同時要在url路徑後拼上ticket,如www.ddd.cn?ticket=***xx;
20.v4包下的viewcompat類中找不到setalpha setscalex setscaley 方法
原因:不明 估計是v4包版本不能太低,不過解決了, 換了乙個v4包,就可以了,
com.android.support:support-v4:22.2.1。
21.進入activity後隱藏鍵盤 scrollview中巢狀listview時,同時可做到防止自動滑動到底部
在父布局中加入如下屬性
android:focusable="true"
android:focusableintouchmode="true"
在拍照的時候報如上問題,原因是沒有新增相機許可權
同時android6.0以上系統新出許可權問題
解決方法如下:
public final static int my_permissions_request_read_contacts=1;
在呼叫需要許可權的方法,呼叫如下方法:
@targetapi(build.version_codes.m)
private void getpermission() , my_permissions_request_read_contacts);
} else
}返回結果
@override
public void onrequestpermissionsresult(int requestcode, string permissions, int grantresults) else
break;
}}23.在布局中為imageview設定預設src=「@drawable***」
然後在**中呼叫imageview.setbackggrounddrawable();
發現imageview的還是預設的布局中的,而不是我們動態設定的,
解決方法,就是不要在布局中寫src
異常記錄 資料對比異常
業務邏輯中需要對比兩個物件是否是同乙個物件,不知道為什麼我去判斷兩個物件是否是同乙個物件,就用 去判斷兩個商品的id,然後id相等的時候返回給我乙個false,然後我嘗試用equals方法去判斷,然後就會返回乙個true,我想可能是因為我用了包裝型別integer型別的原因,測試了一下找到原因了,是...
Android異常分析
近日看到一篇文章,將android 常見的問題,都做了歸納總結。鏈結為 在此做下記錄。常見異常型別 fatal anroom 重啟 重啟異常大多數和ne ke和硬體問題有關,je方面引起重啟宕機大多是和系統程序有關,如system process程序發生了crash swt watchdog tim...
android依賴異常
記錄遇到的android依賴異常原因及解決方案 1.可正常訪問倉庫,但個別依賴can t resolve。原因是依賴了本地倉庫,而本地倉庫中只有依賴相關的pom檔案,沒有jar檔案。目前這種異常行為僅在本地android studio中執行時出現,如果是在ci平台上執行,不會出現該異常。可能是因為a...