我正在开发一个使用程序包名称来启动第三方应用程序的应用程序。我做了一些研究,发现所有应用程序都可以从启动器意图启动。有没有人知道如何通过点击按钮来做到这一点。
答案 0 :(得分:6)
你无法真正“启动应用程序”。如果您知道packagename:
,可以尝试从第三方应用程序获取Launch IntentIntent intent = getPackageManager().getLaunchIntentForPackage("com.thirdparty.package");
startActivity( intent );
答案 1 :(得分:4)
对于上面接受的答案,如果您的模拟器上没有安装第三方应用程序,您也应该优雅地处理它。 以下是相同的完整代码:
public void openThirdPartyApp() {
Intent intent = new Intent("com.thirdparty.package");
intent.setPackage("com.thirdparty.package");
try {
((Activity) context).startActivityForResult(intent, REQUEST_CODE);
} catch (ActivityNotFoundException e) {
downloadIt();
}
}
private void downloadIt() {
Uri uri = Uri.parse("market://search?q=pname:" + "com.thirdparty.package");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException e) {
//creates a small window to notify there is no app available
}
}
}
}
答案 2 :(得分:2)
将它放在View.OnClickListener:
中myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getPackageManager().getLaunchIntentForPackage(theOtherActivityPackage);
startActivity( intent );
}
});