我正在使用启动器应用程序并想知道如何在启动器的主屏幕上点击它时启动Facebook应用程序等应用程序
我尝试了这段代码,但它直接从商店打开了所有包,我希望这个点击打开或直接从设备启动应用程序
Button facebook= (Button) findViewById(R.id.facebook);
facebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
final String appPackageName = "com.facebook.katana";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
}
});
}
还有另一种直接从设备启动它的方法吗?
答案 0 :(得分:0)
如果您正在构建自定义启动器,我希望您使用PackageManager's方法以编程方式确定设备上已安装了哪些应用程序,但是从您的示例中可以看出您已经安装了Facebook。 / p>
无论如何,您可以使用PackageManager.getLaunchIntentForPackage:
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("com.facebook.katana");
startActivity(launchIntent);
请注意,如果没有安装Facebook,getLaunchIntent将抛出NameNotFoundException,因此您应该在安装Facebook的条件下显示图标。如果包没有启动意图,它将返回null,因此您也应该防范它。