有没有办法加载未在我的应用程序清单中明确定义的已安装活动?
答案 0 :(得分:2)
不确定。您可以启动“图库”来选择这样的照片:
myIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(myIntent, IMAGE_UPLOAD);
来自manual,我们发现您可以调用两种类型的意图:
明确的意图 指定了一个 组件(通过 setComponent(ComponentName)或 setClass(Context,Class)),其中 提供要运行的确切类。 通常这些不包括任何其他 信息,只是一种方式 申请推出各种内部 它作为用户的活动 与应用程序交互。
隐含意图尚未指定组件;相反,他们 必须包含足够的信息 系统确定哪个 可用的组件最好运行 为了那个意图。
我正在寻找隐含的意图。这解释得有点低:
意图解决机制 基本围绕匹配一个 意图反对所有的 描述 已安装应用程序包(加, 在广播的情况下,任何 BroadcastReceiver对象显式 注册 registerReceiver(广播接收器, IntentFilter)。)更多细节 可以在文档中找到 IntentFilter类
(我的)。 所以你需要知道一些事情来明确地调用它(比如classname等),或者调用intent,然后你必须知道intent-filter。
我不认为有一种方法可以调用只知道包名称的东西:请注意,您可以拥有一个包含多个包的应用程序,而不是所有包都有活动,更不用说可以运行的活动。
答案 1 :(得分:1)
正如Nanne所说,你可以通过Intent轻松开始一项活动。
以下是系统提供的意图列表:http://developer.android.com/guide/appendix/g-app-intents.html
以下是第三方应用提供的意图列表:http://www.openintents.org/en/registry
答案 2 :(得分:0)
有没有办法加载未在我的应用程序清单中明确定义的已安装活动?
如果你真的想说:
我的应用程序可以在运行时创建一个Activity类......不知怎的......并启动它?
然后答案是否定的。