手順 ToInstallApk(ファイル名:文字列); VAR aFileの位置:JFILE。 意図:JIntent。 始める 試し aFileの位置: = TJfile.JavaClass.init(stringtojstring(DownPath)、stringtojstring(ファイル名)); 意図: = TJIntent。作成します。 Intent.setAction(TJIntent.JavaClass.ACTION_VIEW)。 Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK)。 Intent.setDataAndType(TJnet_Uri.JavaClass.fromFile(aFileの位置)、(stringtojstring ' applicationnd.android.package-アーカイブを' )); SharedActivityContext.startActivity(インテント)。 除いて 終了。 終わり; 手順 ToInstallApk70(ファイル名:文字列); VAR LFILE:JFileの。 LIntent:JIntent。 LNet_Uri:Jnet_Uri。 開始 場合 ではない TOSVersion.Check(7、0)、次いで 開始 ToInstallApk(ファイル名)。 出口; エンド; LFILE: = TJFile.JavaClass.init(StringToJString(ExtractFilePath(DownPath))、StringToJstring(ExtractFileName(ファイル名)))。 LIntent: = TJIntent。作成します。 もし TOSVersion.Check(8、0)その後、 LIntent.setAction(TJIntent.JavaClass.ACTION_INSTALL_PACKAGE) 他 LIntent.setAction(TJIntent.JavaClass.ACTION_VIEW)。 LIntent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK)。 もし(TOSVersion.Check 7、0)、その後 始まる // 修正を:android.os.FileUriExposedException:Intent.getData()を介してアプリから露出 // プロジェクト- >オプション- >アプリケーション- >エンタイトルメントのリスト- >セキュアなファイル共有- >それを確認 LIntent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSIONを)。 LNet_Uri: =TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context、 StringToJString(JStringToString(TAndroidHelper.Context.getPackageName) + ' .fileprovider ' )、LFILE)。 終了 他 LNet_Uri: = TJnet_Uri.JavaClass.fromFile(LFILEを)。 LIntent.setDataAndType(LNet_Uri、StringToJString(' applicationnd.android.package-アーカイブ' )); TAndroidHelper.Context.startActivity(LIntent)。 エンド ;