使用Hangouts 添加视频附件后点 击附件预览,图库报错
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
使用Hangouts 添加视频附件之后,再点击附件预览,图库报错
[SOLUTION]
1. 查看log, 有如下类似的log打出:
03-17 17:25:09.648 6689 8495 E androidRuntime: Caused by: java.lang.IllegalArgumentException: Unknown
URI
content://com.google.android.apps.babel.content.EsProvider/imagescratchspace/7957871458881247410?account
=dongjuan.fu%40gmail.com
03-17 17:25:09.648 6689 8495 E AndroidRuntime: at
android.database.DatabaseUtils.readExceptionFROMParcel(DatabaseUtils.java:167)
…
03-17 17:25:09.648 6689 8495 E AndroidRuntime: at
com.mediatek.gallery3d.video.MovieTitleHelper.getTitleFromDisplayName(MovieTitleHelper.java:50)
03-17 17:25:09.648 6689 8495 E AndroidRuntime: at
com.android.gallery3d.app.MovieActivity$7.doInBackground(MovieActivity.java:655)
即传给MovieActivity的uri是无法解析的.
2. mtk VideoPlayer App增加了一个enhance action bar的功能, 在播放前会通过DB query file name, 具体可以参考
MovieActivity.java中的enhanceActionBar()函数。
目前的解决方法有两个:
方法一: 去掉MovieAcitivity.java中enhanceActionBar的功能。
方法二: 在MovieActivity,java中, enhanceActionBar()出现exception的位置用try catch的方式catch住这个
exception。
修改MovieActivity.java文件的enhanceActionBar()函数:
try {
if (ContentResolver.SCHEME_FILE.equals(scheme)) { // from file
// manager
title = MovieTitleHelper.getTitleFromMediaData(MovieActivity.this, uri);
if (title == null) {
title = MovieTitleHelper.getTitleFromUri(uri);
}
} else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {
title = MovieTitleHelper.getTitleFromDisplayName(MovieActivity.this, uri);
if (title == null) {
title = MovieTitleHelper.getTitleFromData(MovieActivity.this, uri);
}
} else {
title = MovieTitleHelper.getTitleFromUri(uri);
}
} catch (IllegalArgumentException ex) {
if (LOG){
MtkLog.v(TAG, "enhanceActionBar() IllegalArgumentException happen ");
}
}
if (LOG) {
MtkLog.v(TAG, "enhanceActionBar() task return " + title);
}
return title;
使用Hangouts 添加视频附件之后,再点击附件预览,图库报错
[SOLUTION]
1. 查看log, 有如下类似的log打出:
03-17 17:25:09.648 6689 8495 E androidRuntime: Caused by: java.lang.IllegalArgumentException: Unknown
URI
content://com.google.android.apps.babel.content.EsProvider/imagescratchspace/7957871458881247410?account
=dongjuan.fu%40gmail.com
03-17 17:25:09.648 6689 8495 E AndroidRuntime: at
android.database.DatabaseUtils.readExceptionFROMParcel(DatabaseUtils.java:167)
…
03-17 17:25:09.648 6689 8495 E AndroidRuntime: at
com.mediatek.gallery3d.video.MovieTitleHelper.getTitleFromDisplayName(MovieTitleHelper.java:50)
03-17 17:25:09.648 6689 8495 E AndroidRuntime: at
com.android.gallery3d.app.MovieActivity$7.doInBackground(MovieActivity.java:655)
即传给MovieActivity的uri是无法解析的.
2. mtk VideoPlayer App增加了一个enhance action bar的功能, 在播放前会通过DB query file name, 具体可以参考
MovieActivity.java中的enhanceActionBar()函数。
目前的解决方法有两个:
方法一: 去掉MovieAcitivity.java中enhanceActionBar的功能。
方法二: 在MovieActivity,java中, enhanceActionBar()出现exception的位置用try catch的方式catch住这个
exception。
修改MovieActivity.java文件的enhanceActionBar()函数:
try {
if (ContentResolver.SCHEME_FILE.equals(scheme)) { // from file
// manager
title = MovieTitleHelper.getTitleFromMediaData(MovieActivity.this, uri);
if (title == null) {
title = MovieTitleHelper.getTitleFromUri(uri);
}
} else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {
title = MovieTitleHelper.getTitleFromDisplayName(MovieActivity.this, uri);
if (title == null) {
title = MovieTitleHelper.getTitleFromData(MovieActivity.this, uri);
}
} else {
title = MovieTitleHelper.getTitleFromUri(uri);
}
} catch (IllegalArgumentException ex) {
if (LOG){
MtkLog.v(TAG, "enhanceActionBar() IllegalArgumentException happen ");
}
}
if (LOG) {
MtkLog.v(TAG, "enhanceActionBar() task return " + title);
}
return title;
