Теперь это сборщик файлов: < /p>
Код: Выделить всё
@Composable
@RequiresApi(Build.VERSION_CODES.O)
fun OpenSketchFile(
writeSketch: (content: List?, uri: Uri?) -> Unit,
) {
val context = LocalContext.current
val launcher = rememberLauncherForActivityResult(
contract = ActivityResultContracts.OpenDocument()
) { sketchUri ->
if (sketchUri != null) { // == content://com.android.providers.downloads.documents/document/msf:33
val inputStream = context.contentResolver.openInputStream(sketchUri)
val lines = inputStream?.bufferedReader().use { it?.readLines() }
writeSketch(lines, sketchUri)
inputStream?.close()
}
}
SideEffect { launcher.launch(arrayOf("*/*")) }
}
< /code>
... который хорошо считывает содержимое файла. Проблема кажется URI (sketchUriВот файл на устройстве:
ПРИМЕЧАНИЕ Имя файла: love-meter.ino . Отладка:
, который возвращает URI Content: //com.android.providers.downloads.documents/document/msf: 33
Подробнее здесь: https://stackoverflow.com/questions/797 ... g-file-uri
Мобильная версия