与我的应用共享来自 Spotify Android 应用的曲目
Sharing a track from the Spotify Android app with my app
在最新版本的 Spotify Android 应用程序(撰写本文时为 3.9.0.965)中,Share -> Send to
菜单显示定制的选项列表:
Select Recipient
、Email
、SMS
,然后是其他应用程序列表(WhatsApp、环聊等)。
我可以将我的应用加入该列表吗?我希望能够与我的应用程序共享 Spotify 曲目并播放它。
您需要在清单中提供 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>
Is it possible for me to get my app onto that list?
不,很遗憾,这是不可能的,即使您的清单配置正确,您在选择 Share -> Send to
时也看不到您的应用程序,因为 Spotify 将仅显示一组预定义的应用程序(WhatsApp、Facebook Messenger、Hangouts ).
例如,我们有一个包名称为 com.example.spotify
的应用程序。将此 intent-filter
添加到 AndroidManifest.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
该应用程序将不会出现。
现在将 applicationId
更改为 build.gradle 中列入白名单的软件包名称之一(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 的 intent。
在最新版本的 Spotify Android 应用程序(撰写本文时为 3.9.0.965)中,Share -> Send to
菜单显示定制的选项列表:
Select Recipient
、Email
、SMS
,然后是其他应用程序列表(WhatsApp、环聊等)。
我可以将我的应用加入该列表吗?我希望能够与我的应用程序共享 Spotify 曲目并播放它。
您需要在清单中提供 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>
Is it possible for me to get my app onto that list?
不,很遗憾,这是不可能的,即使您的清单配置正确,您在选择 Share -> Send to
时也看不到您的应用程序,因为 Spotify 将仅显示一组预定义的应用程序(WhatsApp、Facebook Messenger、Hangouts ).
例如,我们有一个包名称为 com.example.spotify
的应用程序。将此 intent-filter
添加到 AndroidManifest.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
该应用程序将不会出现。
现在将 applicationId
更改为 build.gradle 中列入白名单的软件包名称之一(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 的 intent。