首页
社区
课程
招聘
[求助][求助]如何在Android应用中使用com.android.internal.CallManager类
发表于: 2013-8-12 16:15 14242

[求助][求助]如何在Android应用中使用com.android.internal.CallManager类

2013-8-12 16:15
14242
大家好,第一次在看雪上发求助帖,如果有什么不合适的地方,请及时指出,我将立即改正。

如题所示,我想在Android App中使用Android的内部API,在这里我要使用的是com.android.internal.CallManager类中的函数,我使用的方法是利用Java Reflection,没有使用修改android.jar的方法。
下面这个链接是我在StackOverflow上的问题贴:
http://stackoverflow.com/questions/18143368/how-to-use-callmanager-in-android-app

如若发现访问困难,下面是部分代码:
ClassLoader classLoader = context.getClass().getClassLoader();
final Class<?> callManagerClass = classLoader.loadClass("com.android.internal.telephony.CallManager");
Method getInstanceMethod = callManagerClass.getDeclaredMethod("getInstance");
getInstanceMethod.setAccessible(true);
mCallManager = getInstanceMethod.invoke(null);
mActiveFgMethod = callManagerClass.getDeclaredMethod("hasActiveFgCall");
Object res = mActiveFgMethod.invoke(mCallManager);
boolean result = ((Boolean) res).booleanValue();


上面代码所示中最后的result总是返回false,而不论手机是何种状态。

我在Stackoverflow上添加了另外一种调用Android隐藏API的方法,结果还是跟以前一样。

感谢大家的帮助。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 45
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
No one can help???
2013-8-19 13:41
0
雪    币: 259
活跃值: (3623)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
你这样试一下,不要使用类加载器。
Class   class1 = Class.forName("com.android.internal.telephony.CallManager");
Method getInstanceMethod = class1.getDeclaredMethod("getInstance");
getInstanceMethod.setAccessible(true);
Object mCallManager = getInstanceMethod.invoke(null);
Mthod mActiveFgMethod = class1.getDeclaredMethod("hasActiveFgCall");
Object res = mActiveFgMethod.invoke(mCallManager);
boolean result = ((Boolean) res).booleanValue();
2013-10-17 09:12
0
雪    币: 45
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
谢谢您的回复,最近没有登录看雪,所以没有及时看到您的回复。关于这个问题,我在Stackoverflow上已经加了最新的说明,问题的原因我也已经找到,如果您对此感兴趣,可以移步到那里看一下。谢谢。
2014-4-7 20:26
0
游客
登录 | 注册 方可回帖
返回
//