首页 > 解决方案 > 使用我在 Android 上的应用程序中的数据启动应用程序特定活动

问题描述

我正在使用以下代码打开另一个应用程序。我想用一些数据指向特定的活动

Intent intent = getPackageManager().getLaunchIntentForPackage("com.package");
if (intent != null) {
    // We found the activity now start the activity
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
} else {
    // Bring user to the market or let them choose an app?
    intent = new Intent(Intent.ACTION_VIEW);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setData(Uri.parse("market://details?id=" + "com.package"));
    startActivity(intent);
}

标签: androidandroid-intent

解决方案


您可以按如下方式传递数据:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.package");
    if (intent != null) {
        // We found the android app now start the launcher activity
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtras("key","value");
        startActivity(intent);
    } else {
        // Bring user to the market or let them choose an app?
        intent = new Intent(Intent.ACTION_VIEW);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setData(Uri.parse("market://details?id=" + "com.package"));
        startActivity(intent);
    }

并且在接收 android 应用程序时,您可以检查此密钥是否存在。

希望这可以帮助


推荐阅读