乱七八糟的总结(一)

1.隐式intent启动activity时,默认使用的是category.DEFAULT,所以,如果你的 activity支持接收implicit intent的话就一定要在intent filter中加入android.intent.category.DEFAULT

 例外情况是:android.intent.category.MAIN和android.intent.category.LAUNCHER的filter中没有必要加入android.intent.category.DEFAULT,当然加入也没有问题。

2.在解析XML文件中出现如下错误:
org.xml.sax.SAXParseException: unterminated entity ref (position START_TAG a href...

经查发现,xml文件里有&的字眼,把其中的"&"转义字符& 代替,就OK了
另外,注意下解析乱码问题,中文字符会出错,不同的编码格式也会出错,尽量保存为utf-8,并且使用英文符号。

3.监听apk的安装,sd卡状态变化需要加上data schema项等。

<intent-filter>
                <action android:name="android.intent.action.PACKAGE_REPLACED"/>                
                <action android:name="android.intent.action.PACKAGE_ADDED"/>
                <data android:scheme="package" />    
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_MOUNTED"/>
                <action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
                <data android:scheme="file" />    
            </intent-filter>

4.关于sd卡状态监听的问题:
当选择大容量存储模式时,android.intent.action.MEDIA_EJECT是先于android.intent.action.MEDIA_UNMOUNTED发出的,可以尝试关闭sd卡的读写访问。
但是,ActivityManager会在MEDIA_EJECT之前就将访问sd卡的应用关掉,目前还没有解决方案。

5.启动浏览器

Uri uri = Uri.parse("http://www.google.com");  
Intent it  = new Intent(Intent.ACTION_VIEW,uri); 
startActivity(it);
!!注意!!
此处的Uri必须满足要求,如果直接写成"www.baidu.com"是会报错的,ActivityNotFoundException
因为data的类型不匹配,应该写成"http://www.baidu.com"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值