Cześć,

Od niedawna grzebię trochę w Androidzie i natrafiłem na taki problem.

Chcę przesłać swojego Intent'a pomiędzy dwiema applikacjami.
Nadawcą jest jakiś tam mój serwis, a odbiorcą nieco zmodyfikowany androidowy Music Player.

Po stronie mojego serwisu nadawcy mam kod:

   private someFunction(long id) {
        Intent intent = new Intent();
        intent.setAction(MY_CUSTOM_INTENT_NAME);
        Uri uri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, id);
        intent.setData(uri);
        
        sendBroadcast(intent);
   }

Po stronie odbiorcy (moja modyfikacja Music Player):

public class MyCustomIntentBroadcastReceiver extends BroadcastReceiver {
    public static final String MY_CUSTOM_INTENT_NAME = "com.android.musik.intent.action.SOMEACTION"; // to samo co MY_CUSTOM_INTENT_NAME w nadawcy
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("MR", "MyCustomIntentBroadcastReceiver onReceive intent: " + intent.getAction());
        if (CHANGE_SONG_INTENT.equals(intent.getAction())) {
            Log.d("MR", "Got expected intent");
            
        }
    }
}

W manifeście oczywiście dodałem:

        <receiver android:name="com.android.music.MyCustomIntentBroadcastReceiver">
            <intent-filter>
                <action android:name="com.android.musik.intent.action.SOMEACTION" />
            </intent-filter>
        </receiver>

Czyli wszystko wygląda mniej więcej tak jak ktoś opisał.

W logach nie dostaje żadnej informacji o błędach (nie mam żadnych wyjątków), oraz widzę, że Intent został wysłany.
Jednak niestety Intent pozostaje nieodebrany (brak loga zawierającego: "MyCustomIntentBroadcastReceiver onReceive intent: ").

Czy ktoś może wie, o czym zapomniałem, co jest źle?