如果我的应用程序包名为App,如何从Android应用程序启动其他Android应用程序?
例如:我在 Android应用中创建Button
。当按下按钮时,Skype将启动。
提前致谢。
答案 0 :(得分:2)
如果您有其他应用包名称
,请单击
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("other app package name");
startActivity(LaunchIntent);
答案 1 :(得分:1)
因为你提到的不是你的应用程序,“Skype”。您可以在意图中使用应用程序的包ID。
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(launchIntent);
对于 Skype ,它变为,
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.skype.raider");
startActivity(launchIntent);
在您的Java文件中,请说 MainActivity.java
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.skype.raider");
startActivity(launchIntent);
}
});
在布局文件中,例如 activity_main.xml
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Skype →"
android:id="@+id/button"
android:textColor="@color/white"/>
答案 2 :(得分:1)
您可以使用以下代码启动Skype或任何其他应用:
PackageManager packageManager = getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage("<skype_package_name>");
startActivity(intent);
答案 3 :(得分:0)
试试这段代码:
cuComplex.h
答案 4 :(得分:0)
final String appPackageName = "com.example";
final Intent openPlayStore = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName));
if (hasHandlerForIntent(openPlayStore))
startActivity(openPlayStore);
else
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
private boolean hasHandlerForIntent(Intent intent) {
return getActivity().getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
}