Android编程如何使用if和else语句检查应用程序是否存在

标签 android

亲爱的 overflow 成员,我刚刚在使用 intents 从不同的应用程序启动一个类时得到了帮助,我现在想知道我是否会使用“If”和“Else”来检查包是否存在以及它是否会继续启动它,但如果它没有显示 toast ,通知用户不存在,我尝试启动 Intent 的方式是单击按钮。感谢您的帮助

这是我要添加 if 和 else 的代码块。

Button button91 = (Button) findViewById(R.id.dlc);
        button91.setOnClickListener(new OnClickListener() {         
            public void onClick(View v) {

                Intent i=new Intent("com.dlc.MainActivity.class"); startActivity(i);
            }
        });

最佳答案

不,if/else 将不起作用,因为 startActivity() 失败时会抛出异常,因此您需要使用 try/catch:

Intent i=new Intent("com.dlc.MainActivity.class"); 

try {
  startActivity(i);
} catch ( Exception e ) {
    // start activiy failed - show toast etc...
}

并且您应该使用 PackageManagergetPackageInfo() 来查明某个包是否存在。

文档:http://developer.android.com/reference/android/content/pm/PackageManager.htmlhttp://developer.android.com/reference/android/content/pm/PackageManager.html#getPackageInfo%28java.lang.String,%20int%29

关于Android编程如何使用if和else语句检查应用程序是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15861503/

相关文章:

android - 如何在 gradle 中生成 Dagger (v1) 对象图 (*.dot)?

javascript - 点击功能在移动设备上无法正常工作

android - XML 错误 : error: not well-formed (invalid token) in splash screen (React Native)

android - RecyclerView android 中的 ScrollView

android - 类型不匹配。必需:观察员<in int!>找到:?

android - ICS Holo Dialog 主题有什么问题?

android - 共享元素过渡 - 仅对共享 View 的可见部分进行动画处理

java - Android MobileAds 加载广告时间过长

android - 如何找到短小区ID?

android - 在菜单抽屉/滑动菜单中突出显示所选项目