Java 无法解析Android编程的意图

Java 无法解析Android编程的意图,java,android,android-intent,launcher,Java,Android,Android Intent,Launcher,当我执行getPackageManager().queryIntentActivities(myIntent,0)时,我会得到一个ResolveInfo列表,但我无法在startActivity(myIntent)中解析该myIntent 我目前正在关注Android开发者网站上的介绍性示例 Intent myIntent = new Intent("MY_CUSTOM_INTENT"); List<ResolveInfo> apps = getPackageManager().qu

当我执行
getPackageManager().queryIntentActivities(myIntent,0)
时,我会得到一个ResolveInfo列表,但我无法在
startActivity(myIntent)
中解析该
myIntent

我目前正在关注Android开发者网站上的介绍性示例

Intent myIntent = new Intent("MY_CUSTOM_INTENT");
List<ResolveInfo> apps = getPackageManager().queryIntentActivities(myIntent, 0);
if(apps.size() > 0){
    startActivity(myIntent);}

在意图过滤器中添加的那一行。我不明白为什么它在查询可以解析myIntent的活动时是完美的,而在真正尝试解析myIntent时,它却在启动一个错误(这是说没有应用程序可以执行这样的意图)。

你能像下面这样尝试一下吗

Intent myIntent = new Intent("MY_CUSTOM_INTENT");
List<ResolveInfo> apps = getPackageManager().queryIntentActivities(myIntent, 0);
 if(apps.size() > 0){
 myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(myIntent);}
Intent myIntent=新意图(“我的自定义意图”);
列出应用程序=getPackageManager().QueryInputActivities(myIntent,0);
如果(apps.size()>0){
myIntent.addFlags(Intent.FLAG\u活动\u新任务);
星触觉(myIntent);}

你能像下面这样试一试吗

Intent myIntent = new Intent("MY_CUSTOM_INTENT");
List<ResolveInfo> apps = getPackageManager().queryIntentActivities(myIntent, 0);
 if(apps.size() > 0){
 myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(myIntent);}
Intent myIntent=新意图(“我的自定义意图”);
列出应用程序=getPackageManager().QueryInputActivities(myIntent,0);
如果(apps.size()>0){
myIntent.addFlags(Intent.FLAG\u活动\u新任务);
星触觉(myIntent);}

看看Intent类。您正在使用的构造函数具有以下注释:

用给定的动作创建意图。所有其他字段(数据、类型、, 类)为空。请注意,该操作必须位于 命名空间,因为意图在系统中全局使用 示例:系统视图操作为android.intent.action.VIEW;一 应用程序的自定义操作类似于 com.google.app.myapp.CUSTOM_操作


HTH

看看Intent类。您正在使用的构造函数具有以下注释:

用给定的动作创建意图。所有其他字段(数据、类型、, 类)为空。请注意,该操作必须位于 命名空间,因为意图在系统中全局使用 示例:系统视图操作为android.intent.action.VIEW;一 应用程序的自定义操作类似于 com.google.app.myapp.CUSTOM_操作


HTH

问题是,无论使用系统视图操作还是com.google.something自定义操作,当我将意图设置为“my_CUSTOM_intent”并使用该意图调用queryIntentActivities方法时,我都会收到6个具有该意图的可用应用程序(或活动),这正是我试图做到的。然而,当我启动Tactivity(myIntent)时,它不会启动任何活动。问题是,无论使用system VIEW操作还是com.google.something自定义操作,当我将我的intent设置为“my_CUSTOM_intent”并调用queryIntentActivities方法时,我都会收到6个具有此类意图的应用程序(或活动),这就是我想做的。但是,当我在AndroidManifest.XML中的默认操作(action_main)和类别(category_launcher)之间添加自定义操作(my_custom_intent)时,它不会启动任何活动。我解决了这个问题:不知怎的,当我在AndroidManifest.XML中的默认操作(action_main)和类别(category_launcher)之间添加自定义操作(my_custom_intent)时,QueryIntent活动会在我放置我的自定义_intent时拾取它们,而实际上,他们中的任何一个都没有将意图解释为可以解决。我刚刚添加了另一个仅使用我的自定义意图和类别默认值的意图过滤器,并在查找活动时使用这两个设置了意图。我解决了这个问题:不知何故,当我在AndroidManifest.XML中的默认操作(action_main)和类别(category_launcher)之间添加自定义操作(my_custom_intent)时,当我把我的_custom _意图放进去时,查询活动就把它们捡了起来,而这个意图实际上并没有被任何一个解释为可以解决。我刚刚添加了另一个意图过滤器,其中只包含我的自定义意图和类别默认值,并在查找活动时使用这两个设置了意图。