Sdrive
Text : Picker_unity.txt
using UnityEngine; public class PickAudio : MonoBehaviour { private string selectedFilePath; public void PickFile () { AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent"); AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent"); intentObject.Call
("setType", "audio/*"); intentObject.Call
("setAction", intentClass.GetStatic
("ACTION_GET_CONTENT")); AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivity = unity.GetStatic
("currentActivity"); currentActivity.Call("startActivityForResult", intentObject, 0); } public void OnActivityResult (string data) { selectedFilePath = data; } public string GetSelectedFilePath () { return selectedFilePath; } } // Permission using UnityEngine; public class RequestPermissions : MonoBehaviour { private const int REQUEST_CODE = 123; public void RequestStoragePermission () { AndroidJavaObject activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic
("currentActivity"); string[] permissions = { "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" }; AndroidJavaObject permissionObj = new AndroidJavaObject("android.Manifest$permission"); AndroidJavaObject permissionArray = new AndroidJavaObject("java.util.ArrayList"); for (int i = 0; i < permissions.Length; i++) { permissionArray.Call
("add", permissionObj.GetStatic
(permissions[i])); } AndroidJavaClass permissionClass = new AndroidJavaClass("com.unity3d.player.PermissionHelper"); permissionClass.CallStatic("requestPermissions", activity, permissionArray, REQUEST_CODE); } public void OnRequestPermissionsResult (string result) { // Handle permission result } } //// Check permission using UnityEngine; public class CheckPermissions : MonoBehaviour { public bool IsStoragePermissionGranted () { AndroidJavaObject activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic
("currentActivity"); AndroidJavaObject context = activity.Call
("getApplicationContext"); string permission = "android.permission.READ_EXTERNAL_STORAGE"; int result = context.Call
("checkSelfPermission", permission); return result == AndroidJavaObject.GetStatic
("PackageManager.PERMISSION_GRANTED"); } }
File Updated
Download
Delete
Rename
Start