【问题标题】:Error in building Alarm app from android source从 android 源构建警报应用程序时出错
【发布时间】:2014-04-04 13:56:10
【问题描述】:

我想构建一个扩展基本闹钟功能的应用程序。由于我没有在闹钟功能上发明任何轮子,所以我想使用公开可用的 android 默认闹钟。

但是我尝试构建了很多次,但是错误太多(也提到了here):

我也试过这个approach,但我仍然无法构建它。

任何人都可以指导如何构建 git android 树中提供的 android 应用程序。

我参考的链接:

  1. Alarm clock code: mContext variable cant be resolved

  2. Alarm Clock from GIT - Gives error - Android

更新:

1.)

    Alarms.java: 
    Line 463: Intent alarmChanged = new Intent(Intent.ACTION_ALARM_CHANGED);
    Error: ACTION_ALARM_CHANGED cannot be resolved or is not a field.

已解决此错误,但将行替换为(感谢 @shayanpourvatan):

final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED"; Intent alarmChanged = new Intent(ACTION_ALARM_CHANGED);

2.)

    AlarmKlaxon.java
    Line 89: mVibrator = new Vibrator();
    Error: Cannot instantiate the type Vibrator

    -----------------------------------

通过将行替换为:

mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

3.)

SetAlarm.java
    Line 115: FrameLayout content = (FrameLayout) getWindow().getDecorView()
                .findViewById(com.android.internal.R.id.content);
    Error:com.android.internal.R cannot be resolved to a variable

通过替换解决:

 com.android.internal.R.id.content into android.R.id.content

【问题讨论】:

  • 对于Call requires API level 3,您需要在清单文件中将 min sdk 版本更改为 3,其他发布更多代码。
  • @shayanpourvatan 你能成功地从安卓源代码构建应用程序吗?
  • 对于第一个问题,您可以更改代码: final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED";意图 alarmChanged = new Intent(ACTION_ALARM_CHANGED);
  • @shayanpourvatan 谢谢老兄..它确实解决了这个错误

标签: android adt android-source android-alarms


【解决方案1】:

解决了所有错误,并能够在设备上编译和运行。需要进行测试并检查是否有弃用。以下是我解决它们的方法:

1.)

Alarms.java: 
Line 463: Intent alarmChanged = new Intent(Intent.ACTION_ALARM_CHANGED);
Error: ACTION_ALARM_CHANGED cannot be resolved or is not a field.

已解决此错误,但将行替换为(感谢 @shayanpourvatan):

final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED"; Intent alarmChanged = new Intent(ACTION_ALARM_CHANGED);

2.)

AlarmKlaxon.java
Line 89: mVibrator = new Vibrator();
Error: Cannot instantiate the type Vibrator

-----------------------------------

通过将行替换为:

mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

3.)

SetAlarm.java
    Line 115: FrameLayout content = (FrameLayout) getWindow().getDecorView()
                .findViewById(com.android.internal.R.id.content);
    Error:com.android.internal.R cannot be resolved to a variable

通过替换解决:

com.android.internal.R.id.content into android.R.id.content

最后:

The specified child already has a parent

错误已修复,如下所述:

The specified child already has a parent in google alarmclock code

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多