{
#if defined(TARGET_OS_IPHONE) || defined(TARGET_IPHONE_SIMULATOR) || defined(__ANDROID__)
if (TFile::Exists(filePath)) {
_di_JContext Context = TAndroidHelper::Context;
// Create the intent to install the APK file
// Set the path to the APK file in the app's data directory
UnicodeString mimeType = "application/vnd.android.package-archive";
_di_JString mimeType1 = StringToJString(mimeType);
// Create the intent to install the APK file
_di_JIntent intent = TJIntent::JavaClass->init();
intent->setAction(TJIntent::JavaClass->ACTION_VIEW);
intent->addCategory(TJIntent::JavaClass->CATEGORY_DEFAULT);
intent->setAction(TJIntent::JavaClass->ACTION_INSTALL_PACKAGE);
intent->addFlags(TJIntent::JavaClass->FLAG_ACTIVITY_NEW_TASK);
intent->addFlags(TJIntent::JavaClass->FLAG_GRANT_READ_URI_PERMISSION);
intent->addFlags(TJIntent::JavaClass->FLAG_GRANT_WRITE_URI_PERMISSION);
intent->putExtra(TJIntent::JavaClass->EXTRA_NOT_UNKNOWN_SOURCE, true);
intent->putExtra(TJIntent::JavaClass->EXTRA_RETURN_RESULT, true);
//当您调用 Uri.parse(path) 时,path 参数需要包含如下内容:file://(...ApkName.apk),如果
// path 参数不包含方案(即:file:// 部分),这就是它无法被正确解析的原因。
intent->setDataAndType(TJnet_Uri::JavaClass->parse(StringToJString("file://"+filePath)),mimeType1);
SharedActivityContext()->startActivity(intent);
}
#endif
}