下面的代码用于启动Facebook:
Intent intent = new Intent("android.intent.category.LAUNCHER"); intent.setClassName("com.facebook.katana", "com.facebook.katana.LoginActivity"); startActivity(intent);
我试图完成同样的雅虎邮件应用程序。知道Intent和setClassName语句中需要使用哪些名称吗?谢谢
v2g6jxz61#
您可以使用PackageManager.getLaunchIntentForPackage(packageName)检索与启动应用关联的Intent:
Intent
PackageManager packageManager = getPackageManager(); // from any Context Intent intent = packageManager.getLaunchIntentForPackage( "com.yahoo.mobile.client.android.mail");
这样做的好处是,即使他们更新应用程序以使用不同的主活动,也可以继续工作。
xdnvmnnf2#
尝试:
intent.setClassName("com.yahoo.mobile.client.android.mail", "com.yahoo.mobile.client.android.mail.activity.MainActivity");
(The动作总是一样的)。您可以从APK的清单中读取此信息。
2条答案
按热度按时间v2g6jxz61#
您可以使用PackageManager.getLaunchIntentForPackage(packageName)检索与启动应用关联的
Intent
:这样做的好处是,即使他们更新应用程序以使用不同的主活动,也可以继续工作。
xdnvmnnf2#
尝试:
(The动作总是一样的)。
您可以从APK的清单中读取此信息。