从用户(Android)获取带有自定义扩展名的文件

时间:2018-08-05 20:47:44

标签: android android-intent kotlin intentfilter

我正在尝试从用户那里获取自定义类型为.khn的文件,并对其进行处理。这是我的代码:

val intent = Intent().setType("*/*").setAction(Intent.ACTION_GET_CONTENT)
startActivityForResult(Intent.createChooser(intent,"Select a file"),200)

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == 200 && resultCode == Activity.RESULT_OK){
        val file = File(data?.data!!.path)
        //do sth with file
    }
}

我也已将其添加到活动清单中:

<intent-filter>
            <action android:name="android.intent.action.GET_CONTENT"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:scheme="file"/>
            <data android:host="*"/>
            <data android:pathPattern=".*\\.khn"/>
</intent-filter>

但是我遇到以下错误:

java.io.IOException: No such file or directory

感谢您的帮助或建议。(我看过this,但那里的解决方案都不能解决我的问题。)

0 个答案:

没有答案