Android源码开发之预制视频音乐等资源
2015-09-18 14:42
671 查看
Rom定制,最常见的就是内置客户提供的视频音乐等文件了,并且要求删除后恢复出厂设置资源还在,对于此类问题,貌似MTK也提供了方法,不过mtk给的方法,代码不好管控
我们可以把资源随Rom放到手机里,再拷到storage目录里
1.在system/media/resource放个android.mk文件,用于拷贝到out的system/media
2.每次开机完成的时候,MediaProvider的MediaScannerReceiver.java都会去接收开机完成的广播,我们可以在这里面进行文件拷贝
packages/providers/MediaProvider/src/com/android/providers/media/MediaScannerReceiver.java
-----------
@Override
public void onReceive(Context context, Intent intent) {
----------
sharedPreferences = context.getSharedPreferences("first_boot", Context.MODE_PRIVATE);
boolean first_boot= sharedPreferences.getBoolean("first_boot", true);//如果是第一次开机,则sharedPreferences 的值为空,赋值true
if (first_boot) {
Intent activityIntent = new Intent();
activityIntent.setClassName("com.android.providers.media", "com.android.providers.media.CopyFileService");
context.startService(activityIntent);//启动拷贝文件的Services,由于文件比较大,onReceive方法里不能做耗时操作,可以用service解决
}
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("first_boot", false);//赋值false,表示下次开机不用再拷贝了
editor.commit();
至于CopyFileService.java代码,就是一个文件拷贝过程,从/system/media/resource拷贝到/storage/sdcard0的过程,这里就不再长篇大论了
我们可以把资源随Rom放到手机里,再拷到storage目录里
1.在system/media/resource放个android.mk文件,用于拷贝到out的system/media
2.每次开机完成的时候,MediaProvider的MediaScannerReceiver.java都会去接收开机完成的广播,我们可以在这里面进行文件拷贝
packages/providers/MediaProvider/src/com/android/providers/media/MediaScannerReceiver.java
-----------
@Override
public void onReceive(Context context, Intent intent) {
----------
sharedPreferences = context.getSharedPreferences("first_boot", Context.MODE_PRIVATE);
boolean first_boot= sharedPreferences.getBoolean("first_boot", true);//如果是第一次开机,则sharedPreferences 的值为空,赋值true
if (first_boot) {
Intent activityIntent = new Intent();
activityIntent.setClassName("com.android.providers.media", "com.android.providers.media.CopyFileService");
context.startService(activityIntent);//启动拷贝文件的Services,由于文件比较大,onReceive方法里不能做耗时操作,可以用service解决
}
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("first_boot", false);//赋值false,表示下次开机不用再拷贝了
editor.commit();
至于CopyFileService.java代码,就是一个文件拷贝过程,从/system/media/resource拷贝到/storage/sdcard0的过程,这里就不再长篇大论了
相关文章推荐
- android 图片最省内存压缩方法
- android wifi操作大全
- Android ExpandableListView单选以及多选实现
- android:padding和android:margin的区别[转]
- Android Context为空
- android 相片显示歪斜解决办法
- android图表
- android view坐标的理解
- Qt on Android,输入法弹出后,界面无法自适应
- Android Studio系列教程二--基本设置与运行
- android极光推送
- android在线下载并安装APK
- android小知识
- android适配
- Android 常用工具类源码大全
- android-6.0-23的getColor过时
- Android横竖屏切换总结
- Android保存图片到系统图库
- 详解Android中AsyncTask的使用
- Android图形---硬件加速(Hardware Acceleration)(二)