我有一个通知信使,我希望用户在按下“推送通知”时可以访问Google Play商店,否则会将其重定向到网址。 所以我的代码就是这样:
Intent intent = new Intent(new Intent(Intent.ACTION_VIEW, Uri.parse("market://dev?id=" + appPackageName2)));
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
notificationBuilder.setContentTitle("FCM Notification")
.setContentText(remoteMessage.getNotification().getBody())
.setAutoCancel(true)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
我在上面的代码中想要这样的东西:
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://dev?id=" + appPackageName2)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/dev?id=" + appPackageName2)));
}
答案 0 :(得分:1)
您可以使用PackageManager.resolveActivity
来确定是否安装了可以处理特定意图的应用。您可以使用它来检查是否可以处理market:
URI。
请确保仔细阅读相关的javadoc,因为它有一些关于隐式/显式意图的注释。