iGio90
iGio90

Reputation: 3291

My Broadcast Receiver doesn't receive for intents

I'm developing an app and i need another external application with a broadcast receiver only. Here is my code:

app1:

Intent intent = new Intent();
intent.setAction("com.blabla.myaction");
intent.putExtra("extra", "test");
sendBroadcast(intent);

app2 (The one with the receiver):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.test" >

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
<receiver
    android:name=".myReceiver">
    <intent-filter>
        <action android:name="com.blabla.myaction" />
    </intent-filter>
</receiver>
</manifest>

public class myReceiver extends BroadcastReceiver {

private Context mContext;

public static final String ACTION = "com.blabla.myaction";

@Override
public void onReceive(Context context, Intent intent) {
    mContext = context;

    if (ACTION.equals(intent.getAction())) {
        Log.e("lala", "received");

        String extra = intent.getStringExtra("extra");

        if (packageName != null) {
            Log.e("lala", extra);
        }
    }
}

With this, i doesn't get the "received" log nor the extra. Why?

Upvotes: 0

Views: 228

Answers (1)

ErstwhileIII
ErstwhileIII

Reputation: 4843

You "recieving application has to have been started at least once.

You may want to review https://developer.android.com/reference/android/content/BroadcastReceiver.html.

Upvotes: 1

Related Questions