亲爱的 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...
}
并且您应该使用 PackageManager
的 getPackageInfo()
来查明某个包是否存在。
文档:http://developer.android.com/reference/android/content/pm/PackageManager.html和 http://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/