если ваш BroadcastReceiver определен в отдельном файле класса, вы можете просто передать значение этому получателю.Как только значение получено, используйте магию для обслуживания, используя context
Обновление:
в вашей активности:
Intent in = new Intent("my.action.string");
in.putExtra("state", "activated");
sendBroadcast(in);
в вашем приемнике:
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.i("Receiver", "Broadcast received: " + action);
if(action.equals("my.action.string")){
String state = intent.getExtras().getString("state");
//do your stuff
}
}
в декларации xml:
<receiver android:name=".YourBroadcastReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="my.action.string" />
<!-- and some more actions if you want -->
</intent-filter>
</receiver>