سؤال

في مشغل موسيقى الأسهم في Android 2.1 (على الأقل) ، فإن الفنان والألبوم واسم المسار للمسار الذي يتم تشغيله حاليًا يمكن نقضًا طويلًا ، والذي يظهر قائمة سياق "بحث" ن مع: "، مع روابط لتطبيقات مختلفة.

تحديث

لقد تمكنت من استخراج السجلات من جهازي الخاص ، والبحث عن فنان ، واختيار Google استمع إلى إكمال الإجراء:

03-02 11:59:34.551 I/ActivityManager(   86): Displayed activity com.android.music/.MediaPlaybackActivity: 1758 ms (total 1953 ms)
03-02 11:59:35.691 I/ActivityManager(   86): Starting activity: Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras) }
03-02 11:59:36.781 I/ActivityManager(   86): Displayed activity android/com.android.internal.app.ChooserActivity: 1036 ms (total 1036 ms)
03-02 11:59:38.191 I/ActivityManager(   86): Starting activity: Intent { act=android.intent.action.MEDIA_SEARCH flg=0x13000000 cmp=com.google.android.apps.listen/.SearchListActivity (has extras) }
03-02 11:59:38.511 D/Listen  (  491): Request search results for http://lfe-alpo-gm.appspot.com/search?q=Finntroll

بالتأكيد سوف أتابع هذا بنفسي ، لكن هذا جديد تمامًا بالنسبة لي. سأقدر المساعدة هنا. هل يعني ما سبق أنه طالما قمت بإعداد MEDIA_SEARCH نية كنقطة دخول لنشاط ما ، سوف تظهر في قائمة التحديد؟

هل كانت مفيدة؟

المحلول

على ما يرام، MEDIA_SEARCH كانت الطريقة الصحيحة للذهاب. كمرجع:

إضافة مرشح النية كافية لجعل التطبيق يظهر في قائمة التحديد في مشغل الوسائط:

<action android:name="android.intent.action.MEDIA_SEARCH" />

ثم يمكن استلام الإجراء على النحو التالي:

final Intent queryIntent = getIntent();
final String queryAction = queryIntent.getAction();

if (MediaStore.INTENT_ACTION_MEDIA_SEARCH.equals(queryAction)) {
    String artist = queryIntent.getStringExtra(MediaStore.EXTRA_MEDIA_ARTIST);
    ...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top