【问题标题】:Open android intent using a specific application(package name known)使用特定应用程序打开 android 意图(已知包名称)
【发布时间】:2015-08-25 14:01:34
【问题描述】:

我的问题是我有这样的意图。

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 音乐应用程序打开。就像将 googlw 音乐设置为默认应用程序以打开仅由我的应用程序发送的特定意图,而不会损害任何其他进程。

我是 Android 的初学者。请。请。帮帮我吧。

【问题讨论】:

  • 感谢您的回答。我会尝试并告诉你。
  • 很抱歉 giorashc,但我是 Android 的初学者,那是为了分享意图,所以我无法修改它以在我的意图中使用发送意图。
  • @giorashc 感谢 giorashc 的努力。我真心的。非常感谢,我至少想给你一个值得 +10 分的投票。因此,请务必发布该评论的答案。无论如何,我想通了。但如果没有你的倡议,我是做不到的。所以请发布一个答案。
  • @giorashc 请务必提出您的答案。如果你想复制粘贴它。我明天还要等,然后我会把我的对社区说得对。但请务必发布。

标签: java android android-intent start-activity specifier


【解决方案1】:

它是如何工作的。

我读过一篇关于堆栈溢出的特定文章,我不知道是哪篇文章。但是,有人提到要限制发送意图,您可以使用intent.setClass,但是它需要知道活动名称和包名称。但我不知道活动名称。因此,我凭直觉尝试使用 intent.setPackage 并且 Boom 成功了。我还要感谢 giorashc 的努力。

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 2014-05-17
    • 2013-03-08
    • 2019-07-21
    • 1970-01-01
    • 2015-07-21
    • 2012-01-08
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多