Spotify Android アプリの最近のバージョン (執筆時点では 3.9.0.965) では、Share -> Send to
メニューにオーダーメイドのオプションのリストが表示されます。
Select Recipient
、Email
、SMS
その他のアプリ (WhatsApp、ハングアウトなど) のリスト。
私のアプリをそのリストに載せることは可能ですか? Spotify のトラックを自分のアプリと共有して再生できるようにしたいと考えています。
Spotify Android アプリの最近のバージョン (執筆時点では 3.9.0.965) では、Share -> Send to
メニューにオーダーメイドのオプションのリストが表示されます。
Select Recipient
、Email
、SMS
その他のアプリ (WhatsApp、ハングアウトなど) のリスト。
私のアプリをそのリストに載せることは可能ですか? Spotify のトラックを自分のアプリと共有して再生できるようにしたいと考えています。
私のアプリをそのリストに載せることは可能ですか?
いいえ、残念ながらこれは不可能です。マニフェストが適切に構成されていてもShare -> Send to
、Spotify は事前定義された一連のアプリ (WhatsApp、Facebook Messenger、ハングアウト) のみを表示するため、選択したときにアプリを表示できません。
たとえば、パッケージ名が のアプリがあります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
してもアプリは表示されません。
ここで、build.gradleapplicationId
のホワイトリストに登録されたパッケージ名 ( com.whatsapp
、com.facebook.orca
、 ) の 1 つに変更します。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 からインテントを受け取ります。
マニフェストで 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>