当前位置: 首页 > 面试题库 >

通过自己的意图打开另一个应用程序

金成济
2023-03-14
问题内容

我知道如何更新自己的程序,也知道如何使用预定义的Uri打开程序(例如,用于短信或电子邮件)

我需要知道如何创建一个意图来打开MyTracks或其他我不知道他们在听什么意图的应用程序。

我是从DDMS获得此信息的,但是我并没有成功将其转换为可以使用的Intent。这是从手动打开MyTracks时获取的。

谢谢你的帮助

05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] }
05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015}
05-06 11:22:26.995: INFO/ActivityManager(76): Displayed activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: 1996 ms (total 1996 ms)

问题答案:

首先,Android中的“应用程序”概念是一个扩展的概念。

应用程序-从技术上讲是一个过程-可以具有多个活动,服务,内容提供者和/或广播侦听器。如果其中至少有一个正在运行,则说明应用程序已启动并正在运行(该过程)。

因此,您需要确定的是如何“启动应用程序”。

好的…这是您可以尝试的方法:

  1. 用action=MAIN和创建一个意图category=LAUNCHER
  2. PackageManager使用当前上下文获取context.getPackageManager
  3. packageManager.queryIntentActivity(<intent>, 0)有意图的地方category=LAUNCHER,action=MAINpackageManager.resolveActivity(<intent>, 0)与main / launcher一起进行第一次活动
  4. 获得ActivityInfo您感兴趣的
  5. 从中ActivityInfo获得packageNamename
  6. 最后,创建另一个意图用category=LAUNCHER,action=MAIN,componentName = new ComponentName(packageName, name)和setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
  7. 最后, context.startActivity(newIntent)


 类似资料:
  • 本文向大家介绍Asp.net中通过Button打开另一个的frm,包括了Asp.net中通过Button打开另一个的frm的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,代码中有注释,大家多看看。 以上所述是小编给大家介绍的Asp.net中通过Button打开另一个的frm,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊

  • 这基本上意味着我没有读取该文件的权限。

  • 我在sdcard中的某个文件夹中有一些pdf文件。我创建了一个将所有pdf显示为ListView的应用程序。当我单击任何pdf文件时,它会在officeSuite应用程序(不支持或损坏文件格式)中出现错误。代码有问题。这是代码。 //显示为ListVIew的项目代码 //打开文件的代码VIA Intent 错误: 损坏或不支持的文件格式

  • 我有两个网址--https://google.com和https://youtube.com,我想在浏览器中打开这两个网址;当前的解决方案一次只适用于一个链接?有没有一种方法可以同时打开两个URL?

  • 问题内容: 我正在寻找一种从意图中打开图库应用程序的方法。 我不想返回图片,而只是打开图库以允许用户使用它们,就好像用户从启动器()中选择了它一样。 我尝试执行以下操作: 但是,一旦选择图片,这将导致应用程序关闭(我知道这是由于造成的),但是我只需要打开图库即可。 任何帮助都会很棒。 谢谢 问题答案: 这是您需要的: 将您的代码更改为:

  • 如何通过链接启动一个应用程序在B应用程序中的特定活动? 共享URI包含有关特定活动的信息。 如果用户单击B应用程序中链接,则启动应用程序的特定活动。