我正在开发一个使用程序包名称来启动第三方应用程序的应用程序。我做了一些调查,发现所有的应用程序都可以从启动器的意图开始。有没有人知道如何通过点击一个按钮来做到这一点。打开第三方应用程序
回答
你不能真正 '启动应用程序'。你可以尝试从第三方应用程序的启动意图,如果你知道包名称:
Intent intent = getPackageManager().getLaunchIntentForPackage("com.thirdparty.package");
startActivity(intent);
应该将标志设置为“setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED)”以重新打开已打开的应用程序。 – JacksOnF1re 2016-02-24 13:56:35
只是把它放在一个View.OnClickListener:
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getPackageManager().getLaunchIntentForPackage(theOtherActivityPackage);
startActivity(intent);
}
});
对于上述接受的答案,如果你的模拟器没有安装第三方应用程序,你应该优雅地处理它也。 这里是一个相同的完整代码:
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
}
}
}
}
Good answear,但这不适用于我正在做的事情。我正在使用一个包管理器来获取包名,然后启动它。但是这可能会在以后的项目中有用。谢谢你的回答! – Magakahn 2012-05-13 10:46:16
这不起作用...在意图初始化代码中:Intent intent = new Intent(“com.thirdparty.package”);应该有一个像“android.intent.action.MAIN”这样的动作没有? – syonip 2015-12-16 12:05:15
@syonip,你为什么要使用“android.intent.action.MAIN”? – YuDroid 2015-12-16 12:25:15
- 1. 使用Python打开第三方应用程序
- 2. 如何打开第三方应用程序的特定活动
- 3. SWTBot - 检查第三方应用程序是否打开
- 4. 从意图打开第三方应用程序
- 5. 使用第三方应用程序打开优步应用程序,然后回到iOS上的第三方应用程序的可能性
- 6. 无法打开使用第三方应用程序的office文档
- 7. 使用第三方库打包C#应用程序?
- 8. Yammer第三方应用程序访问
- 9. 第三方HTML5 .HTA应用程序?
- 10. 安卓第三方应用程序
- 11. WCF - 第三方应用程序认证
- 12. iFrames中的第三方应用程序?
- 13. 第三方应用程序和skype
- 14. 可以直接在第三方应用程序(android)上打开短信?
- 15. PHP - 允许第三方开发人员创建应用程序
- 16. Cocoa应用程序第一次打开
- 17. C#Winforms应用程序打开第二个Winforms应用程序
- 18. AIR安装程序安装第三方应用程序
- 19. 在C#安装程序中安装第三方应用程序
- 20. 控制第三方程序
- 21. 使您的应用程序提供给第三方应用
- 22. 在更新的应用程序第一次打开之前,可以打开应用程序扩展程序吗?
- 23. 阻止第三方Cookie - 解决方法(facebook应用程序等)
- 24. 网站应用程序的第三方存储解决方案?
- 25. 从第三方黑莓应用程序启动文件去应用程序
- 26. 通过您的应用程序下载第三方应用程序iphone
- 27. 通过另一个应用程序访问第三方应用程序
- 28. 从本地iPhone应用程序推出第三方应用程序
- 29. 在我安装应用程序时安装第三方应用程序
- 30. 如何从iPad上的应用程序访问第三方应用程序?
重复http://stackoverflow.com/questions/3422758/start-application-knowing-package-name – Calvin 2012-03-17 18:31:30
这不是重复。我问如何开始它,这个问题是如何找到包名。我已经知道如何找到包名。 – Magakahn 2012-03-17 18:34:07