android異常記錄

2021-07-12 02:03:20 字數 4044 閱讀 5456

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