android - 从 Android 源构建闹钟应用程序时出错

标签 android adt android-source android-alarms

我想构建一个扩展基本闹钟功能的应用程序。由于我没有在闹钟功能中发明任何轮子,因此我想使用公开可用的 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

最佳答案

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

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

关于android - 从 Android 源构建闹钟应用程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22864856/

相关文章:

java - 适用于 SRS 传感器的 Android 汽车 CarSensorManager

android 虚拟设备管理器 (avd) 在最新的 adt v21 中不工作

android - "Connection with adb was interrupted."什么都试过了

Android dumpsys 代码流程

javascript - Android webview 拒绝执行内联脚本

android - FileProvider.getUriForFile vs Uri.fromFile - 除了权限之外还有其他区别吗

java - 将 ScrollView 和 Horizo​​ntalScrollView 添加到 TableLayout

android - 无法使用 ADT eclipse 在图形布局中打开 Android 布局 xml 文件

android - 如何获取安卓源

android - AOSP 无法在 Nexus 5 上启动