遇到一个需求是通过QQ分享文件,要启动QQ的这个界面,com.tencent.mobileqq.activity.JumpActivity,但是需要先判断这个Activity是否存在,有两种方法,首先创建一个Intent
Intent share = new Intent(Intent.ACTION_SEND);
share.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");
share.putExtra(Intent.EXTRA_TEXT, "calUrl");
share.setType("text/*");//此处可发送多种文件
share.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
share.addCategory(Intent.CATEGORY_DEFAULT);
- 方法一:
if (share.resolveActivity(getPackageManager()) != null) {
startActivity(share);
}
- 方法二:
if (getPackageManager().resolveActivity(share, 0) != null) {
startActivity(share);
}
看一些文章两种方法都可以,但是测试发现方法一未安装QQ时会抛出异常,程序崩溃,所以只能用第二种。