猿问

如何以编程方式检查应用程序是否安装在Android中?

如何以编程方式检查应用程序是否安装在Android中?

我们已经以编程方式安装了应用程序。

  1. 如果应用程序已安装在设备中,则应用程序将自动打开。
  2. 否则,请安装特定的应用程序。

指引我。我没有头绪。谢谢。


弑天下
浏览 442回答 3
3回答

森栏

试试这个:public class MainActivity extends AppCompatActivity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         // Add respective layout         setContentView(R.layout.main_activity);         // Use package name which we want to check         boolean isAppInstalled = appInstalledOrNot("com.check.application");           if(isAppInstalled) {             //This intent will help you to launch if the package is already installed             Intent LaunchIntent = getPackageManager()                 .getLaunchIntentForPackage("com.check.application");             startActivity(LaunchIntent);             Log.i("Application is already installed.");                } else {             // Do whatever we want to do if application not installed             // For example, Redirect to play store             Log.i("Application is not currently installed.");         }     }     private boolean appInstalledOrNot(String uri) {         PackageManager pm = getPackageManager();         try {             pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);             return true;         } catch (PackageManager.NameNotFoundException e) {         }         return false;     }}

汪汪一只猫

比公认的答案更简洁的解决方案(基于这个问题):public static boolean isAppInstalled(Context context, String packageName) {     try {         context.getPackageManager().getApplicationInfo(packageName, 0);         return true;     }     catch (PackageManager.NameNotFoundException e) {         return false;     }}我选择将它作为静态实用程序放在帮助器类中。用法示例:boolean whatsappFound = AndroidUtils.isAppInstalled(context, "com.whatsapp");这个答案演示如何从Play Store获取应用程序,如果应用程序丢失,则需要在没有Play Store的设备上小心。

临摹微笑

上面的代码对我没用。以下方法奏效了。创建一个包含适当信息的意向对象,然后使用以下函数检查该意图是否可调用:private&nbsp;boolean&nbsp;isCallable(Intent&nbsp;intent)&nbsp;{&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List<ResolveInfo>&nbsp;list&nbsp;=&nbsp;getPackageManager().queryIntentActivities(intent,&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PackageManager.MATCH_DEFAULT_ONLY);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;list.size()&nbsp;>&nbsp;0;&nbsp;&nbsp;}
随时随地看视频慕课网APP

相关分类

Android
我要回答