package Ġcom . dom ker . app . explorer . file Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġjava . io . File Ċ import Ġandroid . support . v 4 . content . File Provider ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġw an lip eng Ġon Ġ 2 0 1 7 / 9 / 3 . Ċ Ġ*/ Ċ object ĠFile Open Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĵå¼Ģ æĸĩä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġopen File ( context : ĠContext , Ġfile Info : ĠFileInfo ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġfile Info . filePath ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetContent Uri ( context , Ġpath ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse ( path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġwhen Ġ( fileInfo . fileType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Type . TYPE _ TEXT Ġ-> ĠgetText File Intent ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Type . TYPE _ IMAGE Ġ-> ĠgetImage File Intent ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Type . TYPE _ AP K Ġ-> Ġget A pk File Intent ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Type . TYPE _ VIDEO Ġ-> Ġget Video File Intent ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è¯»åıĸ æĿĥéĻĲ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ GRANT _ READ _ URI _ PERMISSION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ HTML æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Html File Intent ( param : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse ( param ). build Up on (). encoded Authority (" com . android . htm lfile provider ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. scheme (" content "). encoded Path ( param ). build () ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" text / html ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ åĽ¾çīĩ æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠgetImage File Intent ( uri : ĠUri ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" image /* ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ PDF æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Pdf File Intent ( param : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from File ( File ( param )) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" application / pdf ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ æĸĩæľ¬ æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠgetText File Intent ( uri : ĠUri ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" text / plain ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ éŁ³ é¢ĳ æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Audio File Intent ( param : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ CLEAR _ TOP ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" on esh ot ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" config change ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from File ( File ( param )) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" audio /* ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ è§Ĩé¢ĳ æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġget Video File Intent ( uri : ĠUri ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ CLEAR _ TOP ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" on esh ot ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" config change ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" video /* ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ CH M æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Ch m File Intent ( param : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from File ( File ( param )) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" application / x - ch m ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ Word æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Word File Intent ( param : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from File ( File ( param )) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" application / ms word ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ Excel æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Excel File Intent ( param : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from File ( File ( param )) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" application / vnd . ms - excel ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġandroid èİ·åıĸ ä¸Ģä¸ª çĶ¨äºİ æīĵå¼Ģ P PT æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget P pt File Intent ( param : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from File ( File ( param )) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" application / vnd . ms - power point ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å®īè£ħ apk æĸĩä»¶çļĦ intent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġget A pk File Intent ( uri : ĠUri ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" application / vnd . android . package - archive ") ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ uri ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠgetContent Uri ( context : ĠContext , ĠfileName : ĠString ): ĠUri Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFile Provider . get Uri For File ( context , Ġ" com . dom ker . app . explorer . file provider ", ĠFile ( fileName )) ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ