Reputation: 25
I have some BroadcastReceiver
named LocalTokenRequestReceiver
in my app.
I'm trying to send broadcast from another app.
This approach works fine:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
/* ..... */
LocalTokenRequestReceiver localTokenRequestReceiver = new LocalTokenRequestReceiver();
IntentFilter localTokenRequestFilter = new IntentFilter(getString(R.string.local_token_request));
localTokenRequestFilter.addCategory(getString(R.string.broadcast_category));
registerReceiver(localTokenRequestReceiver, localTokenRequestFilter);
}
}
But it does not work this way:
<receiver
android:name=".LocalTokenRequestReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="@string/local_token_request" />
<category android:name="@string/broadcast_category" />
</intent-filter>
</receiver>
Why is this may be so? I'm testing my app on Android 4.2.
Upvotes: 0
Views: 111
Reputation: 7749
<intent-filter>
does not support resources. Use explicit strings.
See <action>
and <category>
.
Upvotes: 1