2012-03-20 11 views
5

मैं आईसीएस में इस समस्या को मिलता है, लेकिन नहीं कहा जाता है कभी नहीं:प्रसारण रिसीवर onReceive() पिछले संस्करणों में

APP1 से, मैं प्रसारण भेज रहा हूँ और App 2 गतिविधि में इसे प्राप्त करने की कोशिश कर रहा। लेकिन ऐप 2 की गतिविधि में ऑनसेसिव को कभी नहीं बुलाया जाता है।

मुझे समझ में नहीं आ रहा है कि ब्लॉक क्या है, इसे कॉल करने से प्राप्त करने के लिए, हालांकि मैंने सबकुछ सही ढंग से निर्दिष्ट किया है।

मैं 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> 

उत्तर

10

आईसीएस में आप प्रसारण प्राप्त नहीं होगा जब तक अपने अनुप्रयोग में कम से कम एंड्रॉयड 3.1+ once.in मैन्युअल शुरू कर दिया है, क्षुधा अगर वे कभी नहीं चलाया जा रहा है, या किया गया है को बलपूर्वक बंद एक बंद कर दिया स्थिति में हैं। सिस्टम इन ऐप्स को प्रसारण उद्देश्यों से बाहर करता है। इन्हें इराद। FLAG_INCLUDE_STOPPED_PACKAGES ध्वज का उपयोग करके शामिल किया जा सकता है ..

i.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); 
+0

धन्यवाद कि इस मुद्दे को ठीक किया गया है। लेकिन हम पहले प्राप्त गतिविधि चलाते हैं और फिर भेजें गतिविधि चलाते हैं। तो हमें इस मुद्दे का सामना क्यों किया? – user264953

+0

एप्लिकेशन पहले बंद किए जाने पर रोक दिए गए राज्य में हैं लेकिन अभी तक लॉन्च नहीं किए गए हैं और जब उन्हें उपयोगकर्ता द्वारा मैन्युअल रूप से रोक दिया जाता है (एप्लिकेशन प्रबंधित करें) ... यह http://developer.android.com/sdk/android- 3.1.html # launchcontrols – 5hssba

+2

लेकिन प्रसारण –

संबंधित मुद्दे