When launching an Android activity with an implicit intent, one must check if an application that can receive the intent exists on the device. A missing check can cause an application crash.
1public void startActivityNonCompliant(Context context, Intent shareIntent) {
2 // Noncompliant: there might be no application on the device to receive the implicit intent.
3 context.startActivity(shareIntent);
4}
1public boolean startActivityCompliant(Context context, Intent shareIntent) {
2 if (shareIntent.resolveActivity(context.getPackageManager()) != null) {
3 // Compliant: called only if there is an application on the device to receive the implicit intent.
4 context.startActivity(shareIntent);
5 return true;
6 }
7 return false;
8}