无法在AIDL中导入java.text.SimpleDateFormat

时间:2014-08-07 05:59:29

标签: android aidl

/**
 * Set the mode of the device.
 *
 * @param clock set the clock
 * @param devTime device alarm time including hour,minute,second.
 * @return true if the operation is successful or false if erroneous.
 */
boolean reqRemoveAlarm(int clock, SimpleDateFormat devTime);

这里我想写一个函数,它有一个参数devTime.actually我想显示小时,分钟和秒这就是为什么我使用SimpleDateFormat devTime.But它显示我的AIDL文件中的错误

错误:参数devTime未知类型SimpleDateFormat。

我尝试导入import java.text.SimpleDateFormat;,但显示错误无法找到class.java.text.SimpleDateFormat的导入。

所以我真的无法理解如何在我的AIDL文件上写这个。

专家需要你的帮助和建议。

1 个答案:

答案 0 :(得分:1)

它基本上不可能做你做的事情。 AIDL只允许将非常有限的类型用作AIDL文件中的参数或返回类型。

这包括

  • Java原语(例如int或bool)
  • 字符串
  • 的CharSequence
  • 列表
  • 地图
  • 实现Parcelable的对象,但即使是那些必须具有Parcelable辅助声明,该声明存在于与实际类相同的类路径中。

这是一个更好的解决方案:

所以当你构建SimpleDateFormat时,你可能会做这样的事情。

SimpleDateFormat(String pattern)

只需传递该字符串模式,然后在AIDL调用的另一端构建SimpleDateFormat。如果你没有创建简单的日期格式,你可以调用simpleDateFormat.toPattern()来获取字符串,然后通过AIDL边界传递它。

希望有所帮助。