使用特定应用程序打开 Android Intent(已知包名称)

3

我的问题是我有一个意图,就像这样。

Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);     
intent.putExtra(MediaStore.EXTRA_MEDIA_FOCUS, MediaStore.Audio.Artists.ENTRY_CONTENT_TYPE);        
intent.putExtra(MediaStore.EXTRA_MEDIA_ARTIST, artist);     
intent.putExtra(SearchManager.QUERY, artist);
if(intent.resolveActivity(getPackageManager()) != null)
{
startActivity(intent);
}

当我测试应用程序时,它会请求打开一个应用。所以,如果我打开标准的音乐Android应用程序,它不会打开,但是当我使用Google音乐时,它就像魔术般地工作。
所以,如果没有选择,我必须使用Google音乐,因为没有人能够回答这个问题this,我猜想这是我不知道的某个问题。但至少有一种方法可以设置它,使它只通过Google音乐应用程序打开特定意图,而不会影响任何其他进程。
我是Android的初学者。请帮帮我。

对不起,giorashc,但我是Android的初学者,那是用于共享意图,所以我无法修改它以在我的意图中使用发送意图。 - KISHORE_ZE
@giorashc 感谢您的努力,我是真心的。非常感谢,我至少想给您一个价值+10分的赞。所以请回复那条评论。不管怎样,我已经解决了问题。但如果没有您的帮助,我是做不到的。所以请回复那条评论。 - KISHORE_ZE
@giorashc请贴出您的答案。如果您愿意,可以直接复制粘贴。我会等到明天再将我的答案标记为正确的社区答案。但请务必发布您的答案。 - KISHORE_ZE
谢谢,但没关系...重要的是你弄明白了。 - giorashc
但请为我和整个Stack Overflow社区做这件事。 - KISHORE_ZE
显示剩余2条评论
1个回答

1

它是如何工作的。

我在 stack overflow 的一篇特定文章中读到过,但我不知道是哪一篇。但是那个人提到,要限制发送意图,你可以使用 intent.setClass,但是它需要知道活动名称以及包名称。但我不知道活动名称。所以凭直觉我尝试使用 intent.setPackage,结果奏效了。我也要感谢 giorashc 的努力。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接