android - 安卓6.0,获取手机的音乐文件(华为荣耀 7)?
伊谢尔伦
伊谢尔伦 2017-04-18 09:19:16
0
2
791
    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 ,没有找到本地的音乐文件?那要用什么方法得到本地的音乐文件信息?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(2)
PHPzhong

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.

巴扎黑

Cuba gunakan MediaStore.Audio.Media secara langsung EXTERNAL_CONTENT_URI

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!