关闭

乱七八糟的总结(一)

1484人阅读 评论(0) 收藏 举报
分类:
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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:39197次
    • 积分:530
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:3篇
    • 译文:0篇
    • 评论:10条
    最新评论