在JB/JB2版本上找不到Camera图标

此问题是由于Google在Android4.1之后,即JB版本后在Camera App会侦测是否有Camera sensor,如没有则不会show Camera图标。

具体是在download完成第一次开机后侦测当前是否有Camera Sensor,如果没有就将Camera图标隐藏。

注:此行为只会在Download开机第一次执行,之后便不会侦测。即使后续侦测到sensor,Camera图标一样不会出现,只能恢复出厂设置。

[SOLUTION]

此行为并不会对MP版本有影响,因为MP版本如果有Camera sensor则会出现图标,如果没有则不出现图标。

但在porting sensor过程中,此行为有诸多不便,可以通过如下修改保证Camera图标一直存在:

在packages/apps/Camera/src/com/android/camera/DisableCameraReceive.java文件中

将onReceive方法内code完全注释掉:

public void onReceive(Context context, Intent intent) {

    // Disable camera-related activities if there is no camera.

    boolean needCameraActivity = CHECK_BACK_CAMERA_ONLY

        ? hasBackCamera()

        : hasCamera();



    if (!needCameraActivity) {

        Log.i(TAG, "disable all camera activities");

        for (int i = 0; i < ACTIVITIES.length; i++) {

            disableComponent(context, ACTIVITIES[i]);

        }

    }



    // Disable this receiver so it won't run again.

    disableComponent(context, "com.android.camera.DisableCameraReceiver");

}

改为:

public void onReceive(Context context, Intent intent) {

 /*

    // Disable camera-related activities if there is no camera.

    boolean needCameraActivity = CHECK_BACK_CAMERA_ONLY

        ? hasBackCamera()

        : hasCamera();



    if (!needCameraActivity) {

        Log.i(TAG, "disable all camera activities");

        for (int i = 0; i < ACTIVITIES.length; i++) {

            disableComponent(context, ACTIVITIES[i]);

        }

    }



    // Disable this receiver so it won't run again.

    disableComponent(context, "com.android.camera.DisableCameraReceiver");

    */

}

然后采用mm命令编译:

./mk mm packages/apps/Gallery2

将out/target/product//system/app/Gallery2.apk push到手机/system/app目录下

然后恢复出厂设置即可。

注:建议在MP之前将注释取消保持Google Default行为。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值