以获取默认短信为例:
public boolean hasPreferredApplication(final Context context, final Intent intent) {
PackageManager pm = context.getPackageManager();
ResolveInfo info = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
return !"android".equals(info.activityInfo.packageName);
}
如果没有默认短信应用 会返回一个以android为包名的默认app。当然我们在这里也可以把包名直接拿出来
intent的写法如下:
Uri smsToUri = Uri.parse("smsto:" + 123);
Intent intent = new Intent(Intent.ACTION_SENDTO, smsToUri);
intent.putExtra("sms_body", "hahaha");