1. PendingIntent传值问题解决:
intent.setAction(String.valueOf(System.currentTimeMillis()));
2. 自定义权限:
在应用One中定义并声明权限:
定义:
<permission
android:name = "com.focus.fishme.permission.READ"
android:label = "@string/permission_read"
android:description = "@string/permission_read_detail"
/>
声明:
<activity
android:name = ".ReadActivity"
android:permission = "com.focus.fishme.permission.READ"
/>
在应用Two中调用应用One中的ReadActivity。
使用:
<uses-permission android:name = "com.focus.fishme.permission.READ"></uses-permission>
3. android:sharedUserId:
在Android中每个应用程序都会分配一个单独的用户空间,可以通过设置AndroidManifest.xml文件manifest标签的
android:sharedUserId属性指定相同的值,使多个APK运行在同一个用户空间中,在不同APK中共享数据库或配置信息。
4. AndroidManifest.xml中引用内部类组件:
<service android:name = ".TimeWidgetProvider$UpdateService"/>
5. Eclipse中Android工程导出成APK:
右击Android工程->Android Tools->Export Singed Application Package... 或 Export UnSinged Application Package...
6. 布局优化分析工具:
Android SDK/tools/layoutopt命令(./layoutopt 目录或布局文件)。
7. ListView中添加Button,解决单击问题:
(1) 设置Button的"android:focusable"属性的值为"false"。
(2) 设置Button所在布局的"android:descendantFocusability"属性的值为"blocksDescendants"。
8. 转屏时Activity的生命周期:
当Activity处于运行状态时,转动屏幕,系统会执行onPause()方法->onStop()方法->onDestroy()方法
->onCreate()方法->onStart()方法->onResume()方法->这时Activity又处理运行状态。
9. 源码编译后无法启动模拟器:
(1) export ANDROID_SWT = /源码目录/out/host/linux-x86/framework.
(2) export ANDROID_PRODUCT_OUT = /源码目录/out/target/product/generic.
10. 编译frameworks/policies/base/phone/中的文件:
(1) 进入Android源码目录,执行mm命令,编译所有修改生成system.img文件。
(2) 修改frameworks/policies/base/phone/中的Android.mk文件。
将"android.policy_phone"中的"_phone"删除。
注释LOCAL_UNINSTALLABLE_MODULE := true。
如果全局编译将此修改复原。