Android 动态加载活动
有没有办法加载我的应用程序清单中未明确定义的已安装活动 当然。您可以启动“图库”来选择如下照片:Android 动态加载活动,android,dynamic,android-activity,external,loading,Android,Dynamic,Android Activity,External,Loading,有没有办法加载我的应用程序清单中未明确定义的已安装活动 当然。您可以启动“图库”来选择如下照片: myIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(myIntent, IMAGE_UPLOAD); 从中,我们发现您可以调用两种类型的意图: 明确的意图 指定了一个 组件(通过 setCo
myIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(myIntent, IMAGE_UPLOAD);
从中,我们发现您可以调用两种类型的意图:
明确的意图
指定了一个
组件(通过
setComponent(组件名称)或
setClass(上下文,类)),其中
提供要运行的确切类。
这些通常不包括任何其他
信息,仅仅是一种
申请推出各种内部服务
它作为用户所拥有的活动
与应用程序交互
隐含意图未指定组件;相反,他们
必须包含足够的信息,以便
该系统用于确定以下哪一项:
可用组件最好运行
为了这个目的
我想你是在寻找隐含的意图。这被解释得稍微低一点:
意图解决机制
基本上围绕匹配
意图反对所有
中的说明
已安装的应用程序包。(加上,
就广播而言,任何
显式广播接收器对象
注册于
寄存器接收器(广播接收器,
详细信息
可以在上的文档中找到
IntentFilter类
(我的皇帝)。
因此,您需要知道如何显式地调用它(如classname等),或者调用intent,然后您必须知道intent过滤器
我不认为有一种方法可以调用只知道包名的东西:请注意,你可以有一个包含多个包的应用程序,其中并非所有包都有活动,更不用说可以运行的活动了。当然。您可以启动“图库”来选择如下照片:
myIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(myIntent, IMAGE_UPLOAD);
从中,我们发现您可以调用两种类型的意图:
明确的意图
指定了一个
组件(通过
setComponent(组件名称)或
setClass(上下文,类)),其中
提供要运行的确切类。
这些通常不包括任何其他
信息,仅仅是一种
申请推出各种内部服务
它作为用户所拥有的活动
与应用程序交互
隐含意图未指定组件;相反,他们
必须包含足够的信息,以便
该系统用于确定以下哪一项:
可用组件最好运行
为了这个目的
我想你是在寻找隐含的意图。这被解释得稍微低一点:
意图解决机制
基本上围绕匹配
意图反对所有
中的说明
已安装的应用程序包。(加上,
就广播而言,任何
显式广播接收器对象
注册于
寄存器接收器(广播接收器,
详细信息
可以在上的文档中找到
IntentFilter类
(我的皇帝)。
因此,您需要知道如何显式地调用它(如classname等),或者调用intent,然后您必须知道intent过滤器
我不认为有一种方法可以调用只知道包名的东西:请注意,你可以有一个包含多个包的应用程序,其中并不是所有包都有活动,更不用说可以运行的活动了。正如纳恩所说,你可以通过Intent轻松启动活动 以下是系统提供的意图列表:
下面是第三方应用程序提供的意向列表:正如Nanne所说,您可以通过意向轻松启动活动 以下是系统提供的意图列表: 下面是第三方应用程序提供的意图列表: 有没有办法加载我的应用程序清单中未明确定义的已安装活动 如果你真的想说: 我的应用程序能否在运行时创建一个Activity类并启动它 那么答案是否定的 有没有办法加载我的应用程序清单中未明确定义的已安装活动 如果你真的想说: 我的应用程序能否在运行时创建一个Activity类并启动它
那么答案是否定的。如果我在运行时没有访问包的权限该怎么办。我试图做一些类似于
Intent-Intent=getPackageManager().getLaunchIntentForPackage(“com.something.or.other”);startActivityForResult(意向,0)代码>如果应用程序未安装(=软件包不可用),则无法启动它,对吗?我认为您无法从软件包名称启动任何内容。一个包不会与一个应用程序进行1对1,因此您必须找到包所在的位置,然后从该apk获取manifast。。。没有看到它发生:)。。更新的答案。如果我在运行时没有访问包的权限怎么办。我试图做一些类似于Intent-Intent=getPackageManager().getLaunchIntentForPackage(“com.something.or.other”);startActivityForResult(意向,0)代码>如果应用程序未安装(=软件包不可用),则无法启动它,对吗?我认为您无法从软件包名称启动任何内容。一个包不会与一个应用程序进行1对1,因此您必须找到包所在的位置,然后从该apk获取manifast。。。没有看到它发生:)。。更新的答案。我没有,第二个活动只是存在于一个单独的包中。我没有,第二个活动只是存在于一个单独的包中。