Rumah > Soal Jawab > teks badan
ContentResolver musicResolver = getContentResolver();
Uri musicUri = android.provider.MediaStore.Audio.Media.INTERNAL_CONTENT_URI;
Cursor musicCursor = musicResolver.query(musicUri, null, null, null, null);
为什么我使用以上的代码获取不到我手机里面的音乐? 调试发现 musicResolver.query() 是这个函数有问题,然后进入这个函数后,发现内部的变量 cursor 为 null
,没有找到本地的音乐文件?那要用什么方法得到本地的音乐文件信息?
PHPz2017-04-18 09:21:16
Mungkin ini masalah dengan telefon saya Hari ini saya menggunakan kod rakan sekelas saya dan saya dapat mendapatkan muzik pada telefonnya Kemudian saya memuat turun kod itu ke 荣耀7
saya tetapi saya tidak berjaya kepada Pada telefon bimbit rakan sekelas 荣耀8
yang lain, hasilnya juga tidak berfungsi. Sudah tentu, ia adalah masalah dengan telefon bimbit, bukan kod Kemudian saya mencari artikel yang berkaitan dan akhirnya menemuinya:
// Storage Permissions
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE
);
}
}
Letakkan kod di atas ke dalam kelas tempat anda ingin mencari fail muzik Apabila anda akhirnya mencari muzik, panggil sahaja kaedah di atas. Di atas bermaksud untuk menyemak sama ada terdapat kebenaran yang sepadan Jika tiada kebenaran yang sepadan, tingkatkan kebenaran (ia sememangnya isu kebenaran, tetapi saya tidak menjangkakan bahawa telefon lain boleh berjalan seperti biasa. Kedua-dua telefon Honor semasa tidak boleh berjalan. Ia adalah satu perangkap dan pembaziran saya mempunyai banyak masa,,,)
Akhir sekali masukkan kod berikut dalam
manifest
.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Buat masa ini, tidak mengapa, jika tidak, anda boleh menghantar mesej peribadi kepada saya.
巴扎黑2017-04-18 09:21:16
Cuba gunakan MediaStore.Audio.Media secara langsung EXTERNAL_CONTENT_URI