平时积累(三)

    技术2022-05-20  36

    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。

     

               如果全局编译将此修改复原。


    最新回复(0)