cari

Rumah  >  Soal Jawab  >  teks badan

android - 安卓6.0,获取手机的音乐文件(华为荣耀 7)?

    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 ,没有找到本地的音乐文件?那要用什么方法得到本地的音乐文件信息?

伊谢尔伦伊谢尔伦2812 hari yang lalu830

membalas semua(2)saya akan balas

  • PHPz

    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.

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:21:16

    Cuba gunakan MediaStore.Audio.Media secara langsung EXTERNAL_CONTENT_URI

    balas
    0
  • Batalbalas