我正在研究一款应该阻止来电和(最终)消息的Android应用。到目前为止,我已经读到您可以使用内部ITelephony接口来拦截并最终阻止呼叫。
该过程的一个步骤是创建一个名为" com.android.internal.telephony"包含" ITelephony.aidl"文件。我现在有了以下路径:
\ MyApp \ app \ src \ main \ java \ company \ MyApp \ com \ android \ internal \ telephony \ ITelephony.aidl(这是Android Studio使用"创建包"命令创建的。 / p>
问题在于,由于某种原因,我收到以下错误:
错误:包com.android.internal.telephony不存在。我尝试将aidl文件放在不同的位置,但结果相同。我做错了什么,如果是的话,我该如何解决?
感谢。
答案 0 :(得分:0)
这可能是您问题的解决方案:
您在项目中添加了
下载AIDL文件ITelephony.AIDL
个文件?如果你已经添加,那么你的包名必须是com/android/internal/telephony/ITelephony.AIDL
:了解更多信息 Blocking Incoming call。从here
来自:how to resolve this error "com.android.internal.telephony cannot be resolved to a type" in android
很快:在src文件夹中创建com/android/internal/telephony
文件夹结构,并将aidl
文件放在电话文件夹中。
所以你的电话包可能有错误的目录结构。
请检查并尝试按照上述步骤操作。
答案 1 :(得分:0)
请使用包含ITelephony接口的COM包的完整路径。
示例强>
如果您正在使用
ITelephony telephonyService =(ITelephony) m.invoke(tm);
然后你应该使用
com.android.internal.telephony.ITelephony telephonyService = (com.android.internal.telephony.ITelephony) m.invoke(tm);