来电界面异常

  最近在做android源码Phone的定制,期间来电的时候会遇到一个异常,查了很久才解决,先上Log:


W/ResourceType(  163): Failure getting entry for 0x7f04000f (t=3 e=15) in package 0 (error -75)
D/AndroidRuntime(  163): Shutting down VM
W/dalvikvm(  163): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
D/dalvikvm(  163): GC_CONCURRENT freed 354K, 5% free 7679K/8071K, paused 3ms+18ms
E/AndroidRuntime(  163): FATAL EXCEPTION: main
E/AndroidRuntime(  163): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.phone/com.android.phone.InCallScreen}: android.content.res.Resources$NotFoundException: Resource ID #0x7f04000f
E/AndroidRuntime(  163): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
E/AndroidRuntime(  163): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
E/AndroidRuntime(  163): at android.app.ActivityThread.access$600(ActivityThread.java:122)
E/AndroidRuntime(  163): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
E/AndroidRuntime(  163): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  163): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(  163): at android.app.ActivityThread.main(ActivityThread.java:4340)
E/AndroidRuntime(  163): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  163): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(  163): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime(  163): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime(  163): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(  163): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f04000f
E/AndroidRuntime(  163): at android.content.res.Resources.getValue(Resources.java:1019)
E/AndroidRuntime(  163): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2107)
E/AndroidRuntime(  163): at android.content.res.Resources.getLayout(Resources.java:858)
E/AndroidRuntime(  163): at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
E/AndroidRuntime(  163): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
E/AndroidRuntime(  163): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
E/AndroidRuntime(  163): at android.app.Activity.setContentView(Activity.java:1835)
E/AndroidRuntime(  163): at com.android.phone.InCallScreen.onCreate(InCallScreen.java:520)
E/AndroidRuntime(  163): at android.app.Activity.performCreate(Activity.java:4465)
E/AndroidRuntime(  163): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
E/AndroidRuntime(  163): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
E/AndroidRuntime(  163): ... 11 more


在网上找了很多类似LOG的解决办法,不过都不是我想要的,后来自己慢慢排查才发现是这个原因造成的:

在定制通话界面的时候,需要把固定的竖屏通话界面改为横屏通话界面,修改AndroidManifest.xml中的配置后,把和通话界面相关的

call_card.xml,

incall_screen.xml,

incall_touch_ui.xml,

dtmf_twelve_key_dialer_view.xml,

dialpad.xml等都移到了layout-land文件夹下,结果造成了InCallScreen中setContentView(R.layout.incall_screen);报错。

电话的处理逻辑非常复杂,具体为何会报错小弟也没弄清楚,但是把以上文件放到layout文件夹下,问题即可解决。

好的,下面是几个测试用例: 1. 测试锁屏状态下来电是否能够正常响铃并显示来电界面。 - 操作步骤:将手机锁屏,使用另一部手机拨打该手机的电话号码。 - 预期结果:手机在响铃的同时,能够正常显示来电界面。 2. 测试锁屏状态下来电是否能够正常接听和挂断。 - 操作步骤:将手机锁屏,使用另一部手机拨打该手机的电话号码,等待手机响铃后,尝试接听并挂断。 - 预期结果:手机能够正常接听和挂断来电。 3. 测试锁屏状态下来电时的通知提醒是否正常。 - 操作步骤:将手机锁屏,使用另一部手机拨打该手机的电话号码,等待手机响铃后,观察手机是否能够正常显示来电通知。 - 预期结果:手机能够正常显示来电通知,并提供相应的操作选项。 4. 测试锁屏状态下来电时的音量和震动是否正常。 - 操作步骤:将手机锁屏,使用另一部手机拨打该手机的电话号码,等待手机响铃后,观察手机的音量和震动是否正常。 - 预期结果:手机的音量和震动能够正常工作,并能够根据用户的设置进行相应的调整。 5. 测试锁屏状态下来电时的界面显示是否有异常。 - 操作步骤:将手机锁屏,使用另一部手机拨打该手机的电话号码,等待手机响铃后,观察手机的来电界面是否有异常。 - 预期结果:手机的来电界面能够正常显示,没有出现异常的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值