android异常记录

来源:互联网 发布:windows怎么启动 编辑:程序博客网 时间:2024/05/17 23:23


<span style="font-size:24px;"><span style="font-size:18px;">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=xxx) 对象不支持序列化原因:某个类没有 implements Serializable 或者没有implements parcelable接口注意的是,JSONObjecthe JSONArray不支持序列化5.ClassNotFoundException when unmarshalling  序列化时未指定ClassLoader原因:在使用Parcelable机制的时候,会出现。如:  public class MyParcelable implements Parcelable{private String mStr;private ClassA a;private MyParcelable(Parcel in){mStr=in.readString();a=in.readParcelable(null);//此处会崩溃 对a的反序列化上。  应改为 a=in.readParcelable(ClassA.class.getClassLoader());}}6.Unable to add window-- token null is not for an application 如:new AlertDialog.Builder(getApplicationContext())原因;AlertDialog.Builder() 参数不可以是 getApplicationContext()获取到的context   应该是一个Activity  即xxxActivity.this;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 没有加权限有的手机是禁止app打电话的,即使添加权限,所以为了避免发生此类异常,我们在调用之前先加判断,比如判断是否有打电话的权限PackageManager pm=getPackageManager();boolean hasPermission=pm.checkPermission(Manifest.permisson.CALL_PHONE,getPackageName())==PackageManager.PERMISSION_GRANTED;如果hasPermission返回的是true 证明有这个权限if(hasPermission){Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:1385455845"));}10.SecurityException Intent 中图片太大用Intent进行传值的时候,尽量不要超过1MB的数据,尽量不要传递Bitmap.11.ActivityNotFoundException   Unable to find explicit activity class{com.android.settings/com.android.settings.WirelessSettings};当打开系统Wifi设置会报此错误。 原因是,4.0以上把原来的打开网络设置方式舍弃了。if(Build.VERSION.SDK_INT>13){//3.2以上带卡设置页面startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));}else{startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));}12.Service Intent must be explicit  启动服务异常android升级到5.0以后会发生,应该用下面的代码启动serviceIntent inttent=new Intent();intent.setAction("your action name");intent.setAction(getPackageName());context.startService(intent);13.JSON解析异常getString("key"); key在JSON字符串中不存在,此种解析会抛出异常optString("xxxx");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.xxx,this,true);android系统就会搞不明白这个this是谁,所以不能这么写。15.android.content.res.Resources$NotFoundException: String resource ID #0x1此错误为xxx.setText(a),参数a是int类型 应该为xxx.setText(String.value(a))或者xxx.setText(a+“”)16.android 用webview加载数据时,报android 网页无法加载 net::ERR_TIMED_OUT原因是在开代理。17.E:\Work\ActivityAnimation\app\src\main\res\layout\seconditemW.xml: Error: 'W' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore布局文件命名的时候不可是大写字母,只允许是a-z 0-9和下划线18.Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.此错误背景是,项目中运用到了RecyclerView,出现这个问题的原因是:Check Build Target of your project and appcompat_v7 library project. They should be same, if your project has lesser Build Target than you get this error and won't be able to build.19.WebView加载url的时候,报登录过期,此时webview的loadUrl方法,相当于get请求,同时要在url路径后拼上ticket,如www.ddd.cn?ticket=xxxxx;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" 22.java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.doolii.shopping/cn.doolii.shopping.view.uploadImage.AlbumUploadActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/thumbnails from pid=27138, uid=10103 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2453)在拍照的时候报如上问题,原因是没有添加相机权限<uses-permission android:name="android.permission.CAMERA" />同时android6.0以上系统新出权限问题解决方法如下:public final static int MY_PERMISSIONS_REQUEST_READ_CONTACTS=1;在调用需要权限的方法,调用如下方法:@TargetApi(Build.VERSION_CODES.M)private void getPermission() {    if (ContextCompat.checkSelfPermission(UploadPicActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {        //申请CAMERA的权限        requestPermissions(new String[]{Manifest.permission.CAMERA}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);    } else {        photo();        pop.dismiss();            ll_popup.clearAnimation();    }}返回结果@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {    super.onRequestPermissionsResult(requestCode, permissions, grantResults);    switch (requestCode) {        case MY_PERMISSIONS_REQUEST_READ_CONTACTS:            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {               photo();            } else {                Toast.makeText(UploadPicActivity.this, "请打开相机权限", Toast.LENGTH_LONG).show();            }            break;        }}23.在布局中为ImageView设置默认图片src=“@drawablexxx”然后在代码中调用imageView.setBackGgroundDrawable();发现ImageView的图片还是默认的布局中的,而不是我们动态设置的,解决方法,就是不要在布局中写src</span></span>


0 0
原创粉丝点击