gpt4 book ai didi

android - 从 Android 上的不同应用程序启动应用程序的 Activity

转载 作者:搜寻专家 更新时间:2023-11-01 09:46:09 25 4
gpt4 key购买 nike

我需要从我制作的应用程序启动应用程序的 Activity (不是主要 Activity )。我要启动的 Activity 是专有的,因此,我无法对其代码(或 list )进行任何更改。

例如:我想从我自己的应用程序启动某人的 Facebook 个人资料。从我的应用程序到 facebook 的正常 Intent 会打开“新闻源”(我不想要)。我想知道如何访问任何其他 Activity 。提前致谢!

我的小代码:

String PACKAGE="com.facebook.katana";
Intent launchIntent = getPackageManager()
.getLaunchIntentForPackage(PACKAGE);
startActivity(launchIntent);

最佳答案

要启动特定 Activity ,您需要使用显式 Intent 。或者,如果您知道该 Activity 响应的是什么操作,则将隐式 Intent 与操作一起使用。

要使用显式 Intent ,您可以执行以下操作(前提是您从 Activity 中调用它):

        Intent intent = new Intent();
intent.setComponent(new ComponentName("com.package.name", "com.package.name.ActivityName"));
if(getPackageManager().resolveActivity(intent, 0) != null) {
startActivity(intent);
} else {
Toast.makeText(this, "No app installed that can perform this action", Toast.LENGTH_SHORT).show();
}

您还可以向 Intent 添加标志,添加操作和类别。只要 PackageManager 可以将 Intent 解析为可行的 Intent ,它就会启动 Activity 。

现在...

关于 facebook 个人资料的问题是另一回事。

也许,实现该目标的最佳方法是将 intent 与 action VIEW 结合使用,并将带有 uri 的 Intent.setData 提供给配置文件页面。还应该检查是否有可能得到正确解决。然后将启动所有支持的 Activity 的选择器以将其打开,其中应包括 facebook 应用程序。然后由用户使用 Facebook 应用程序或启动器打开 Intent 。

关于android - 从 Android 上的不同应用程序启动应用程序的 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37978753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com