0

在最新版本的 Spotify Android 应用程序(撰写本文时为 3.9.0.965)中,Share -> Send to菜单显示了一个定制的选项列表:

Select RecipientEmailSMS然后是其他应用程序(WhatsApp、环聊等)的列表。

我是否可以将我的应用程序添加到该列表中?我希望能够与我的应用程序共享 Spotify 曲目并播放它。

4

2 回答 2

2

我是否可以将我的应用程序添加到该列表中?

不,很遗憾,这是不可能的,即使您的清单配置正确,您在选择时也看不到您的应用程序,Share -> Send to因为 Spotify 将仅显示一组预定义的应用程序(WhatsApp、Facebook Messenger、环聊)。

例如,我们有一个包名为 的应用程序com.example.spotify。将此添加intent-filterAndroidManifest.xml

<intent-filter>
    <action android:name="android.intent.action.SEND"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain"/>
</intent-filter>

运行应用程序,但如果我们选择Share -> Send to该应用程序将不会出现。

现在将 更改为我们的 build.gradleapplicationId中列入白名单的包名称 ( com.whatsapp, com.facebook.orca, ) 之一:com.google.android.talk

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.whatsapp"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

现在该应用程序在Share -> Send to上下文菜单中可用,就像它是 WhatsApp 一样,您可以在此屏幕截图中看到:

在此处输入图像描述

选择 WhatsApp,我们的应用程序将正确打开并接收来自 Spotify 的意图。

于 2015-10-29T13:33:49.917 回答
0

您需要在清单中提供 Activity(SomeShareActivity) 并向其提供 IntentFilters

<activity android:name=".SomeShareActivity">
  <intent-filter>
      <action android:name="android.intent.action.SEND" />
      <category android:name="android.intent.category.DEFAULT" />
      <data android:mimeType="audio/*" />
      <data android:mimeType="video/*" /> 
  </intent-filter>  
</activity>
于 2015-10-29T11:16:59.407 回答