To get a return result from an activity, use startActivityForResult
instead of startActivity
.
private int REQUEST_ACTION_PICK = 1;
...
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
// startActivity(intent);
startActivityForResult(intent, REQUEST_ACTION_PICK); //fixme
// ...
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_ACTION_PICK && resultCode == RESULT_OK) {
Uri uri = data.getData();
Log.d(TAG, uri.toString());
}
}
As for 'how set it as ringtone or alarm?', perhaps this might work?
Set default alarm sound programatically Android