全智a20控制关机的代码是./android/frameworks/base/services/java/com/android/server/power/ShutdownThread.java。见下面的代码段控制了启动关机音乐:
private static void beginShutdownSequence(Context context) {
synchronized (sIsStartedGuard) {
if (sIsStarted) {
Log.d(TAG, "Shutdown sequence already running, returning.");
return;
}
sIsStarted = true;
}
MediaPlayer mediaplayer = new MediaPlayer();
try{
mediaplayer.setDataSource("/system/media/shutdown.mp3");
mediaplayer.prepare();
mediaplayer.setLooping(true);
mediaplayer.start();
}catch (IOException e){
}
SystemProperties.set("sys.start_shutdown", "1");
...
分析源代码中try段,可知,当/system/media/shutdown.mp3存在的时候,就将播放该音频文件,所以,在该目录下放上一个shutdown.mp3文件即可,当然,还需要改/frameworks/base/data/sound/AudioPackage2.mk文件,在最后加上一行$(LOCAL_PATH)/ shutdown.mp3:system/media/ shutdown.mp3,这样在编译的时候才会将增加的文件放到指定的目录。
注意:因为版本不一样,文件的位置或者名字都有可能稍有区别。