以编程方式启动用户选择的应用

时间:2014-05-24 07:06:36

标签: java android eclipse class launcher

所以,如果你没有注意到。许多新的启动器为您提供了选择要作为特定类别的默认启动的应用程序的选项。

我的启动器由显示卡片的不同片段组成,这些卡片上有一个按钮,该按钮具有一个功能,当用户触摸按钮时,他们会通过一个窗口提示他们可以选择针对该特定运行的应用程序视图。为了方便用户使用,应保存他们选择的意图或应用,因此如果他们再次选择该按钮,他们就不必再次选择该应用。

如果您想了解我的意思,请查看9台启动器或智能启动器或任何Windows 7 Phone Launcher。它们会弹出一个小弹出窗口,让您选择要运行的应用程序及其设置。

我怎样才能做到这一点?请我到处搜索,但是没有意义。没有这方面的教程,我也反编译各种发射器,看看它是如何工作的,但我不知道从哪里开始。

如果你能提供帮助,那就太好了。

1 个答案:

答案 0 :(得分:0)

  

首先需要获得已安装的应用程序。

     

然后,您将从用户选择的应用程序中获取应用程序包信息。

     

最后启动意图。

以下是您可以尝试的内容:

  1. 使用action=MAINcategory=LAUNCHER
  2. 创建一个意图
  3. 使用context.getPackageManager
  4. 从当前上下文中获取PackageManager
  5. packageManager.queryIntentActivity(<intent>, 0)其中intent为category=LAUNCHERaction=MAINpackageManager.resolveActivity(intent, 0)以获取与main / launcher的第一个活动
  6. 获取您感兴趣的ActivityInfo
  7. ActivityInfo,获取packageNamename
  8. 最后,使用category=LAUNCHERaction=MAINcomponentName = new ComponentName(packageName, name)setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
  9. 创建另一个意图
  10. 最后,context.startActivity(newIntent)
  11.   

    我还建议您查看FreeTaskManager

相关问题