recherche

Maison  >  Questions et réponses  >  le corps du texte

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

伊谢尔伦伊谢尔伦2830 Il y a quelques jours842

répondre à tous(2)je répondrai

  • PHPz

    PHPz2017-04-18 09:21:16

    C'est peut-être un problème avec mon téléphone. Aujourd'hui, j'ai utilisé le code de mon camarade de classe et j'ai pu avoir la musique sur son téléphone. Ensuite, j'ai téléchargé le code sur mon 荣耀7 mais cela n'a pas fonctionné. sur le téléphone portable d'un autre camarade de classe 荣耀8, le résultat ne fonctionnait pas non plus. Effectivement, c'était un problème avec le téléphone portable, pas le code. Ensuite, j'ai recherché des articles connexes et je l'ai finalement trouvé :

    .
    // 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
                );
            }
        }

    Mettez le code ci-dessus dans la classe dans laquelle vous souhaitez rechercher des fichiers musicaux. Lorsque vous recherchez enfin de la musique, appelez simplement la méthode ci-dessus. Ce qui précède signifie vérifier s'il existe des autorisations correspondantes. S'il n'y a pas d'autorisations correspondantes, augmentez les autorisations (il s'agit en effet d'un problème d'autorisation, mais je ne m'attendais pas à ce que les autres téléphones puissent fonctionner normalement. Les deux téléphones Honor actuels ne peuvent pas fonctionner. C'est un piège et une perte. J'ai tellement de temps,,,)

    Enfin, mettez le code suivant dans manifest.

    
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    Pour l'instant, ça devrait aller. Sinon, vous pouvez m'envoyer un message privé.

    répondre
    0
  • 巴扎黑

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

    Essayez d'utiliser MediaStore.Audio.Media directement EXTERNAL_CONTENT_URI

    répondre
    0
  • Annulerrépondre