Широковещательный приемник onReceive () никогда не вызывал

Я получаю эту проблему в ICS, но не в предыдущих версиях:

Из App1 я отправляю трансляцию и пытаюсь ее получить в App 2. Но onReceive никогда не называется в действии App 2.

Я не могу понять, что из этого вызова onReceive этого блока вызывает вызов, хотя я правильно определил все.

Сначала я запускаю BroadcastReceive, а затем BroadcastSend

Любая помощь, которая поможет мне решить эту проблему, очень ценится.

Операция отправки App1

public class BroadcastSend extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent i = new Intent(); i.setAction("edu.ius.rwisman.custom.intent.action.TEST"); i.putExtra("url","ww.ius.edu"); sendBroadcast(i); } 

Приложение 2 получает активность

 public class BroadcastReceive extends BroadcastReceiver{ // Display an alert that we've received a message. @Override public void onReceive(Context context, Intent intent){ System.out.println("Inside onReceive"); String url = intent.getExtras().getString("url"); Toast.makeText(context, "BroadcastReceive:"+url, Toast.LENGTH_SHORT).show(); } 

Манифест приложения 2

 <?xml version="1.0" encoding="utf-8"?> 

 <application android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name="edu.ius.rwisman.BroadcastReceive.BroadcastReceive" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="edu.ius.rwisman.custom.intent.action.TEST"/> </intent-filter> </receiver> </application> 

В ICS вы не будете получать трансляции, пока ваше приложение не будет запущено вручную хотя бы один раз. В Android 3.1+ приложения находятся в остановленном состоянии, если они никогда не запускались или не были остановлены. Система исключает эти приложения из трансляции. Они могут быть включены с помощью флага Intent.FLAG_INCLUDE_STOPPED_PACKAGES.

 i.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);