我们都知道 ContentUri 有一个 appendWithId 方法,那么 Uri 怎样去掉 id 呢,我研究了一下,发现没有办法,因为 id 也算是 segment 的一部分,segment 整个算是一个字符串,啊,我浪费掉的时间 老铁們有没有想法呢,除了直接编辑字符串?欢迎留言
/* 2022-02-11 10:38:20.728 12005-12005/com.kiyuni.uridemo V/kiyuni: uri = content://com.android.providers.media.documents/document/image%3A8626 2022-02-11 10:38:20.736 12005-12005/com.kiyuni.uridemo V/kiyuni: com.android.providers.media.documents 2022-02-11 10:38:20.736 12005-12005/com.kiyuni.uridemo V/kiyuni: com.android.providers.media.documents 2022-02-11 10:38:20.736 12005-12005/com.kiyuni.uridemo V/kiyuni: null 2022-02-11 10:38:20.736 12005-12005/com.kiyuni.uridemo V/kiyuni: null 2022-02-11 10:38:20.738 12005-12005/com.kiyuni.uridemo V/kiyuni: /document/image:8626 2022-02-11 10:38:20.738 12005-12005/com.kiyuni.uridemo V/kiyuni: image:8626 2022-02-11 10:38:20.738 12005-12005/com.kiyuni.uridemo V/kiyuni: [document, image:8626] 2022-02-11 10:38:20.738 12005-12005/com.kiyuni.uridemo V/kiyuni: content 2022-02-11 10:38:20.738 12005-12005/com.kiyuni.uridemo V/kiyuni: -1 2022-02-11 10:38:20.738 12005-12005/com.kiyuni.uridemo V/kiyuni: image:8626 */ private fun logUri() { val uri = Uri.parse("content://com.android.providers.media.documents/document/image%3A8626") Log.v(TAG, "uri = $uri") arrayListOf(uri.authority, uri.encodedAuthority, uri.fragment, uri.encodedFragment, uri.path, uri.lastPathSegment, uri.pathSegments , uri.scheme, uri.port, uri.lastPathSegment).forEach { Log.v(TAG, "$it") } }