这是一个Android noob问题。
我正在尝试通过自己的应用程序启动另一个apk的活动。现在我知道我可以启动任何其他应用程序并调用其主要活动。在许多情况下,我也可以启动子活动,例如显示它的设置对话框。 但是对于某些应用程序,例如Facebook或Endomondo,每次我尝试启动其应用程序的某些特定活动时,我都会获得FC。
现在我怀疑这是一个许可问题,Facebook或Endomondo开发人员只是不希望其他应用程序访问他们的活动。但是,我是否必须找出我可以使用哪些活动以及哪些活动每次都不能通过反复试验来使用?
另外:有没有解决这个困境的方法?也许在一个有根的设备上?
欢呼任何指针。
答案 0 :(得分:2)
正如您所说,您只能使用其他应用程序的活动,这些应用程序旨在供其他应用程序使用。通常,另一个应用程序的开发人员定义他们的应用程序能够理解和处理的一组意图和操作。
默认情况下,使用任何其他应用程序的活动是不可能的,这是Android的设计,因为每个应用程序都在其自己的沙盒进程中运行(有一些例外,应用程序可以共享进程)。
因此,要使用其他应用程序的活动,您必须知道它所监听的意图。通常,这可以在应用程序网站或文档中找到,或者在OpenIntents词典中找到意图。