2016-04-28 204 views
0

我不明白ITelephony.aidl如何定义或使用。ITelephony.aidl无法正常工作

例如,以下路径下将其设置为ITelephony.aidl:

enter image description here

让我在下面的代码中的错误:

TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); 

    Method m = null; 
    try { 
     Class c = Class.forName(tm.getClass().getName()); 
     m = c.getDeclaredMethod("getITelephony"); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } catch (NoSuchMethodException e) { 
     e.printStackTrace(); 
    } 
    m.setAccessible(true); 
    ITelephony telephonyService; 

的抱怨是解决不了符号'ITelephony'

但是,将ITelephony.aidl重命名为Itelephonyjava似乎解决了编译错误,但是d实际上没有提供必要的功能。

我在这里做错了什么?

回答

0

对于每一个*.aidl文件没有下

{项目路径}创建相应*.java文件/建设/生成

遵循以下步骤:

  1. 清除/generated文件夹您的项目
  2. 清理您的代码我位于Android工作室
  3. 运行(即使Studio显示你的错误信息,但要确保你的.aidl文件有正确的import语句)

希望它能帮助。 !