Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 动态加载活动_Android_Dynamic_Android Activity_External_Loading - Fatal编程技术网

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。。。没有看到它发生:)。。更新的答案。我没有,第二个活动只是存在于一个单独的包中。我没有,第二个活动只是存在于一个单独的包中。