Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainActivity extends AppCompatActivity {
- List<Songs> songsList = new ArrayList<>();
- RecyclerView recyclerView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- recyclerView = findViewById(R.id.main_recyclerview);
- permission();
- }
- private void permission() {
- if ((ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_MEDIA_AUDIO) != PackageManager.PERMISSION_GRANTED) ||
- (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_MEDIA_VIDEO) != PackageManager.PERMISSION_GRANTED) ||
- (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_MEDIA_IMAGES) != PackageManager.PERMISSION_GRANTED) ||
- (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) ||
- (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.MANAGE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) ||
- (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- ActivityCompat.requestPermissions(MainActivity.this,
- new String[]{
- Manifest.permission.READ_MEDIA_AUDIO,
- Manifest.permission.READ_MEDIA_IMAGES,
- Manifest.permission.READ_MEDIA_VIDEO
- }, 1);
- } else {
- ActivityCompat.requestPermissions(MainActivity.this,
- new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
- }
- } else {
- }
- }
- /*Handle permission request results*/
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- if (requestCode == 1) {
- boolean allPermissionsGranted = true;
- for (int grantResult : grantResults) {
- if (grantResult != PackageManager.PERMISSION_GRANTED) {
- allPermissionsGranted = false;
- break;
- }else {
- }
- }
- if (!allPermissionsGranted) {
- showPermissionRequiredDialog();
- }else{
- }
- }
- }
- private void showPermissionRequiredDialog() {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle("Permission Required")
- .setMessage("This permission is required to access the app.")
- .setPositiveButton("Go to Settings", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
- Uri uri = Uri.fromParts("package", getPackageName(), null);
- intent.setData(uri);
- startActivity(intent);
- }
- })
- .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- finish();
- }
- })
- .setCancelable(false)
- .show();
- }
- private void fetchSong() {
- final String[] column = {MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.DURATION,MediaStore.Audio.Media.DATA};
- final String selection = MediaStore.Audio.Media.IS_MUSIC + "!= 0";
- Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,column,selection,null,null);
- while (cursor.moveToNext()) {
- Songs songData = new Songs(cursor.getString(0),cursor.getString(1),cursor.getString(2));
- if (new File(songData.getPath()).exists()){
- songsList.add(songData);
- }
- recyclerView.setHasFixedSize(true);
- recyclerView.setLayoutManager(new LinearLayoutManager(this));
- AdapterRecycler adapterRecycler = new AdapterRecycler(this,songsList);
- recyclerView.setAdapter(adapterRecycler);
- recyclerView.getAdapter().notifyDataSetChanged();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment