以下代码用于启动Facebook:
Intent intent = new Intent("android.intent.category.LAUNCHER");
intent.setClassName("com.facebook.katana", "com.facebook.katana.LoginActivity");
startActivity(intent);
我试图为Yahoo Mail App做同样的事情。
知道在Intent和setClassName语句中需要使用哪些名称?
由于
答案 0 :(得分:2)
您可以使用PackageManager.getLaunchIntentForPackage(packageName)来检索与启动应用相关联的Intent
:
PackageManager packageManager = getPackageManager(); // from any Context
Intent intent = packageManager.getLaunchIntentForPackage(
"com.yahoo.mobile.client.android.mail");
即使他们更新应用程序以使用不同的主要活动,这也有继续工作的好处。
答案 1 :(得分:1)
尝试:
intent.setClassName("com.yahoo.mobile.client.android.mail",
"com.yahoo.mobile.client.android.mail.activity.MainActivity");
(行动总是一样的)。
您可以从APK的清单中阅读此信息。