【问题标题】:Android Studio cannot resolve symbol ITelephonyAndroid Studio 无法解析符号 ITelephony
【发布时间】:2016-01-09 22:06:02
【问题描述】:

我正在开发一个应该阻止来电和(最终)消息的 Android 应用程序。到目前为止,我已经了解到您可以使用内部 ITelephony 接口来拦截并最终阻止呼叫。

该过程的一个步骤是创建一个名为“com.android.internal.telephony”的包,其中包含一个“ITelephony.aidl”文件。我现在有以下路径:

\MyApp\app\src\main\java\company\MyApp\com\android\internal\telephony\ITelephony.aidl(这是 Android Studio 使用“创建包”命令创建的。

问题是,由于某种原因,我收到以下错误:

错误:com.android.internal.telephony 包不存在。我尝试将aidl 文件放在不同的位置,但结果相同。我做错了什么,如果是,我该如何解决?

谢谢。

【问题讨论】:

    标签: java android call block


    【解决方案1】:

    这可能是您的问题的解决方案:

    您在项目中添加了ITelephony.AIDL 文件吗?如果您已添加,那么您的包名必须是 com/android/internal/telephony/ITelephony.AIDL:了解更多 Blocking Incoming call。从here下载AIDL文件

    发件人:how to resolve this error "com.android.internal.telephony cannot be resolved to a type" in android

    很快:在 src 文件夹中创建 com/android/internal/telephony 文件夹结构,并将 aidl 文件放入电话文件夹中。

    所以你的电话包可能有错误的目录结构。

    请检查并尝试按照上述步骤操作。

    【讨论】:

    • 我创建了指定的结构,但错误仍然存​​在。
    【解决方案2】:

    请使用包含 ITelephony 接口的 COM 包的完整路径。

    示例

    如果你正在使用

    ITelephony telephonyService =(ITelephony) m.invoke(tm);
    

    那么你应该使用

    com.android.internal.telephony.ITelephony telephonyService = (com.android.internal.telephony.ITelephony) m.invoke(tm);
    

    【讨论】:

      猜你喜欢
      • 2017-09-13
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 2015-12-17
      相关资源
      最近更新 更多