- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我使用 adb
时,我找不到 /storage/emulated/0
文件夹。我基本上试图加载内部存储
中的所有音频文件,但试图排除系统特定的音频,如铃声和通知音,如按键音等。我有以下代码:
String[] mediaAttrs = {
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DATE_ADDED,
};
mCursor = context.getContentResolver().query(
MediaStore.Audio.Media.INTERNAL_CONTENT_URI,mediaAttrs,null,null,null);
String[] excludeLocations = {"/system","/storage/emulated/0/Ringtones"};
boolean locationInclude = true;
while(mCursor.moveToNext()){
String mediaLocation = mCursor.getString(mediaLocationIndex);//required column index
for(String eachLocation:excludeLocations){
if(mediaLocation.startsWith(eachLocation)) {
Log.e("LocationTest:Excluded"," "+mediaLocation);
locationInclude = false;
}
}
if(locationInclude){
Log.e("LocationTest:Included"," "+mediaLocation);
this.insert( ... );//insert found data
}
locationInclude = true;
}
然后我使用以下内容填充 ListView :
Cursor mPlayListCursor = mDB.getWritableDB().query(
Audio,//table name
new String[]{"_id","mediaLocation"},
null,null,null,null, "mediaLocation"+" ASC"
);
SimpleCursorAdapter mAudioAdapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1,
mCursor,
new String[]{"mediaLocation"},
new int[]{android.R.id.text1},0
);
ListView lv = findViewById(R.id.mListView);
lv.setAdapter(mAudioAdapter);
最奇怪的是,/system
下的所有音频文件都被排除了,只有两个文件:
/storage/emulated/0/Ringtones/hangouts_incoming_call.ogg
/storage/emulated/0/Ringtones/hangouts_message.ogg
总是出现在ListView
中,使用adb
查看时该文件夹不存在,这个文件夹是什么?它是在运行时创建的吗?那么音频是如何到达那里的呢?我该如何避免它们被填充到 ListView
中?
最佳答案
你能试试这个吗:
String selection = MediaStore.Audio.Media.ALBUM + " not like ? and " +
MediaStore.Audio.Media.DATA + " not like ? ";
String [] args = {"%" + "ringtones" + "%", "%" + "system/" + "%"};
Cursor mCursor = context.getContentResolver().query(MediaStore.Audio.Media.INTERNAL_CONTENT_URI,mediaAttrs,selection,args,null);
while(mCursor.moveToNext()){
// mCursor.getColumnIndex(MediaStore.Audio.Media.ALBUM)
String mediaLocation = mCursor.getString(1);//required column index
Log.d("LocationTest:Excluded"," "+mediaLocation);
}
关于java - 如何排除/storage/emulated/0/Ringtones中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61415736/
在 Android 上,我在尝试确定实际播放的铃声时遇到问题(我不是要检测默认铃声,而是实际播放的铃声,因为用户设置的特定铃声可能会有所不同对于特定联系人)。 我正在使用 Ringtone.isPla
我正在尝试获取当前铃声的内容 uri (content://media/external/...)。 我得到当前的设备铃声是这样的: Uri uri = RingtoneManager.getActu
我正在尝试更 retrofit 有 Android 4.3 的 HTC One 上的通知流(不是响铃)的音量。我正在使用这段代码: int setting = Settings.System.getI
我正在尝试根据我在应用程序中保存到 SD 卡上的声音来设置铃声。在浏览了我能找到的所有关于此的帖子后,我相信我已经接近了,只是没有定义 URI 的权利。 File ringPath =
当我选择默认铃声时,我得到一个 Uri,路径为 content://settings/system/ringtone。因此没有以整数结尾的路径,如返回普通铃声(例如,content://media/i
我有一个打开数小时的应用程序,它使用后台服务并附有前台通知。每隔一段时间播放一个声音: try { Ringtone r = RingtoneManager.getRingtone(conte
我的设备默认在/system/media/audio/ringtones 有一些铃声。我想以编程方式获取该路径。我的意思是我想以编程方式从我的设备获取铃声目录路径。 最佳答案 从 Android 2.
我遇到了用户(Samsung Galaxy S5,Android 4.4)报告的崩溃,我不明白发生了什么。这似乎是不可能的,但也许有些人遇到过相同或类似的问题。 这是痕迹: java.lang.Run
我是一名优秀的程序员,十分优秀!