OSSのAlarmClockのソースをみて勉強しようと思い、最初動かすまでのメモを残しておく。
Github:
https://github.com/android/platform_packages_apps_alarmclock
AlarmClock修正メモAlarmLlaxon.java
L89
//mVibrator = new Vibrator();
mVibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);L207,8
//setDataSourceFromResource(getResources(), mMediaPlayer,
// com.android.internal.R.raw.fallbackring);
setDataSourceFromResource(getResources(), mMediaPlayer,
R.raw.fallbackring);
R.raw.fallbackring
としてfallbackring.oggをファイルを保存
Alarms.java
L462
//Intent alarmChanged = new Intent(Intent.ACTION_ALARM_CHANGED);
final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED";
Intent alarmChanged = new Intent(ACTION_ALARM_CHANGED);L512,521,538
指定APIに対応していないAPIを呼び出そうとしている。
Eclipseクイックフィックス
Add target api to (メソッド名)で修正
DigitalClock.java
L52 追加
private Context mContext;L104, 110 追加
this.mContext = context;
SetAlarm.java
L116
//.findViewById(com.android.internal.R.id.content);
.findViewById(android.R.id.content);
L165
Alarms.java 同様アノテーション付与
AndroidManifest.xml
追加
要素の次
Please execute 'adb uninstall com.android.alarmclock' in a shell.
と出たら素直にCMDで実行
fallbackring.oggはDropboxにおいたので持って行っちゃってください。ApacheLicenseだから大丈夫だよね・・?ダメだったら即刻消します。
https://dl.dropbox.com/u/24440717/android/fallbackring.ogg