首页 > 其他分享 >Flutter OHOS fluttertpc_app_installer(打开应用商店和安装APP)

Flutter OHOS fluttertpc_app_installer(打开应用商店和安装APP)

时间:2024-12-25 16:32:44浏览次数:4  
标签:code console String err appPackageName APP fluttertpc message app

fluttertpc_app_installer

打开应用商店和安装APP

用法

String androidAppId = '';
String iOSAppId = '';
String ohosAppId = '';

AppInstaller.goStore(androidAppId, iOSAppId, ohosAppId);
	

AppInstaller.installApk('/sdcard/apk/app-debug.apk');

鸿蒙OS代码

获取app包名

     getAppPackageName(appId: String): String {
let appPackageName: String = appId;
if (appPackageName == null || appPackageName == '') {
  bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION).then(bundleInfo => {
appPackageName = bundleInfo.name;
console.info("AppInstallerOhosPlugin appPackageName is then  " + appPackageName);
  });
}
return appPackageName;
  }

打开市场

    /**
   * open appstore
   * */
  goAppStore(appId: String, result: MethodResult) {
if (appId == null) {
  console.info("AppInstallerOhosPlugin appPackageName is null  ");
  return;
}
try {
  const request: Want = {
parameters: {
  bundleName: appId
}
  };
  productViewManager.loadProduct(getContext(this) as common.UIAbilityContext, request, {
onError: (error: BusinessError) => {
  console.info('AppInstallerOhosPlugin',
`loadProduct one rror.code is ${error.code}, message is ${error.message}`);
  result.success(false);
}
  });
  result.success(true);
} catch (err) {
  console.info('AppInstallerOhosPlugin', `loadProduct failed.code is ${err.code}, message is ${err.message}`);
  result.success(false);
}
  }

安装app

  installApp(appSrc: String) {
//1.get permissions
try {
  let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
  atManager.requestPermissionsFromUser(getContext(this), ['ohos.permission.ENTERPRISE_INSTALL_BUNDLE'])
.then(async (permission) => {
  // if (permission.authResults[0] !== 0) {
  //   return
  // }
  this.startInstallApp(appSrc);
});
} catch (err) {
  console.info('AppInstallerOhosPlugin',
`Permission application failed.code is ${err.code}, message is ${err.message}`);
}
  }


  startInstallApp(appSrc: String) {
//2.to install
let bundleId: String = this.getAppPackageName('');
let wantTemp: Want = {
  bundleName: bundleId.toString(),
  abilityName: 'EntryAbility',
};
let hapFilePaths: Array<string> = [appSrc?.toString()];

installBundle.install(wantTemp, hapFilePaths).then(() => {
  console.info('AppInstallerOhosPlugin Succeeded in installing bundles.');
}).catch((err: BusinessError) => {
  console.error(`AppInstallerOhosPlugin Failed to install bundles. Code is ${err.code}, message is ${err.message}`);
});
  }

标签:code,console,String,err,appPackageName,APP,fluttertpc,message,app
From: https://www.cnblogs.com/cnblogzzy/p/18630798

相关文章

  • Chapter 8, 9 B-CIDS: 5 pillars of AI preparation → Jumpstart Approach
    B-CIDSAI-Readiness:AcompanyisAI-readywhenitcansmoothlyprogressfromAIconcepttoimplementationandbenefitrealization,anddosoconsistently.Preparation:AchievingAI-readinessisacomprehensiveprocessinvolvingcompanyculture,talent,......
  • springboot毕设 智能公交系统app 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,公共交通在城市居民出行中扮演着至关重要的角色。然而,传统的公交系统往往面临着信息不对称、调度效率低下以及乘客体验不佳等问......
  • X80 DRONE APP Technical Support Guide
    X80DRONEAPPTechnicalSupportGuideWelcometotheX80DRONEAPPTechnicalSupportGuide.Thisguidewillprovideanoverviewoftheapp’skeyfeaturesandoffertroubleshootingtips.Ifyouencounteranyissuesnotcoveredhere,pleasereachouttoour......
  • ssm毕设团购轻量级app程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容团购轻量级APP项目说明一、研究背景随着移动互联网的飞速发展,电子商务已经成为人们日常生活中不可或缺的一部分。团购模式在电商领域中脱颖而出,它通过集合消......
  • Springboot使用RestTemplate发送Post请求postForEntity (application-json)的坑
    Springboot使用RestTemplate发送Post请求postForEntity(application-json)的坑|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||---------......
  • 计算机毕业设计—50562 书店客户管理APP(源码免费领)
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,书店当然也不能排除在外。书店客户管理APP是以实际运用为开发背景,运用软件工程开发方法,采用springboot技术构建的一个管理系统。整个开发过程首先对软件系......
  • 在 UniApp 中使用Mixins混合方法实现微信支付与支付宝支付
    在UniApp中使用Mixins混合方法实现微信支付与支付宝支付目录前言在UniAp中集成支付功能时,我们经常需要根据不同的支付方式(如微信支付、支付宝支付)进行不同的处理。为了避免代码冗余和提升代码的可维护性,可以使用Vue的Mixins技术将支付逻辑提取到单独的混合文......
  • 【APP逆向22】实用小脚本
    1.python处理Treemap排序问题data_dict={"_appid":"atc.android","appversion":"3.4.0","channelid":"csy","pwd":'dasdasdas',"udid......
  • 传统门店纷纷转型上门按摩APP平台,为什么上门服务成为主流?
    在当下的服务行业领域,一个颇为显著的现象正备受关注,那就是众多传统门店纷纷开启了向上门按摩APP平台转型的步伐。这背后究竟是何原因呢?其实细究起来,答案并不复杂。如今,上门服务已然成为一种主流趋势,深刻地改变着人们对于消费服务的选择偏好。对于顾客而言,他们无需再像以往......
  • 家政师傅加入上门家政APP平台,轻松提升收入和订单量!
    在竞争激烈的家政服务市场中,传统家政门店若想让家政师傅死心塌地地追随,就必须给予足够的利益,否则很难留住这些关键的服务力量。然而,当传统家政门店选择转行做上门家政APP平台,继续在这片市场中谋求发展时,情况便大不一样了。转行成为上门家政APP平台后,往往会出现这样的现象......