Android 开发中的零散知识点
(Android 中的很多系统属性值 都可以在 system/build.prop 文件中修改)
1、屏幕旋转角度值改变
adb pull system/build.prop d:\ --- 》将build.prop 拖出来
| (添加属性)
persist.panel.orientation=270 ----》系统屏幕旋转 设置项
| (将修改后的文件 push 到系统中)
adb push D:\build.prop system
| (修改文件属性)
chmod 644 build.prop
| (重启生效)
2、修改屏幕密度 ,同样是修改 system/build.prop 文件中的 ro.sf.lcd_density属性的值
3、Android ANR(Android Nor Resport) 问题
遇到anr 问题时,将 data/anr 内容 pull 出来分析
adb pull data/anr E:\
4、内存泄露分析工具 MAT
5、
adb root
adb remount
su
fastboot reboot bootloader
fastboot flash boot boot.img
fastboot reboot
6、长按 音量键上键或者下键和电源键,通电,直接进入recovery 模式
7、调用系统的Gallery 播放视频:
private static final String GALLERY_PACKAGE_NAME = "com.android.gallery3d";
private static final String GALLERY_ACTIVITY_CLASS =
"com.android.gallery3d.app.MovieActivity";
Intent intent = new Intent(Intent.ACTION_MAIN)
.setClassName(GALLERY_PACKAGE_NAME, GALLERY_ACTIVITY_CLASS)
.setDataAndType(uri, "video/*");
intent.putExtra("treat-up-as-bac", true);
Log.e(TAG, "***playVideo!");
startActivity(intent);
8、当录制有新的文件的时候,将文件添加到数据库后,启动MediaScannerService扫描系统上的多媒体文件
updateGallery(currentFilePath+fileNameString);
private void updateGallery(String filename)//filename是我们的文件全名,包括后缀哦
{
MediaScannerConnection.scanFile(this,
new String[] { filename }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("tt", "Scanned " + path + ":");
Log.i("tt", "-> uri=" + uri);
}
});
}
9、eclipse 中导入和工程乱码问题。点击“Window-》Preference-》general-》WorkSpace”,将“Text file encoding ”修改成 utf-8 即可。
10、烧版本时,如果是进入了 mmi 测试模式,要恢复正常 则需要 “fastboot erase misc”,之后重新烧写
11、Android 提供了 一个 uevent 机制,可以在系统启动的时候修改设备文件的访问权限,在 system/code/rootdir目录下有一个名为ueventd.rc的配置文件。
12、时间修改成 24小时制 SimpleDateFormat sDateFormat = new SimpleDateFormat(
"yyyyMMddHHmmss"); (HH大写 :24小时制;hh小写:12小时制)
13、之前只知道 在 Android 4.3 系统上可以通过接受“Intent.ACTION_CLOSE_SYSTEM_DIALOGS”广播来监听 HOME 键,但是 按下多任务键和 home键都会发送这个广播,而通过 String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY); 判断 reason 的值是可以区分 两者的。如下截图所示,多任务键是“recentapps”,而home 键是“homekey”。
(final String SYSTEM_DIALOG_REASON_KEY = "reason";)
14、获取外部存储设备挂载情况:
Environment.getStorageState()方法可行;
File mPath = null;
mPath = new File(u_dish_default_path);
Environment.getStorageState(mPath));