为了账号安全,请及时绑定邮箱和手机立即绑定

检查是否安装了应用程序 - Android

检查是否安装了应用程序 - Android

蝴蝶刀刀 2019-08-08 14:48:03
检查是否安装了应用程序 - Android我正在尝试从Google Play安装应用。我可以理解,在打开Google Play商店网址时,它会打开Google Play,当我按下后退按钮时,活动会恢复。Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(appURL));marketIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);startActivity(marketIntent);当我回到活动时,我试着调用它onResume()来检查应用程序是否已安装,但是我收到错误:@Overrideprotected void onResume() {     super.onResume();     boolean installed = false;     while (!installed) {         installed  =   appInstalledOrNot(APPPACKAGE);         if (installed) {              Toast.makeText(this, "App installed", Toast.LENGTH_SHORT).show();         }     }}private boolean appInstalledOrNot(String uri) {   PackageManager pm = getPackageManager();   boolean app_installed = false;   try {       pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);       app_installed = true;   }   catch (PackageManager.NameNotFoundException e) {       app_installed = false;   }   return app_installed ;}错误如下:E / AndroidRuntime(796):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.appinstaller / com.example.appinstaller.MainActivity}:android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android .intent.action.VIEW dat = market:// details?id = com.package.name flg = 0x40080000}我想活动是onPause()。有没有更好的方法来实现它?我正在尝试检查应用是否已完成安装。
查看完整描述

3 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

试试这个:

public static boolean isAvailable(Context ctx, Intent intent) {final PackageManager mgr = ctx.getPackageManager();List<ResolveInfo> list =   mgr.queryIntentActivities(intent,PackageManager.MATCH_DEFAULT_ONLY);return list.size() > 0;}


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 450 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信