मुझे क्या करना कोशिश कर रहा हूँ .. कि संख्या अपने आवेदन करने के लिए संदेश भेजता है जो करने के लिए, BraodcastReceiver को पास किया जाता है ... लेकिन अशक्त अब तक या तो मैं हो रही है या BroadcastReceiver बस दुर्घटनाओं हैब्रॉडकास्ट रिसीवर को डेटा कैसे पास करें?
यहाँहै मेरी CreateMessage वर्ग से BroadcastReceiver के लिए आशय ...
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("phN", phoneNo);
intent.putExtras(bundle);
startActivity(intent);
और BroadcastReceiver (SmsReceiver वर्ग) में मैं इस तरह के इरादे को पकड़ने के लिए कोशिश कर रहा हूँ ..
public void onReceive(Context context, Intent intent) {
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
try{
//receiveNumbers = intent.getExtras().get("phN").toString();
String receiveNumbers = intent.getStringExtra("phN");
Toast.makeText(context, receiveNumbers, Toast.LENGTH_LONG).show();
}catch(Exception e){
e.printStackTrace();
}
मेरे प्रकट फ़ाइल:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.AEM_n"
android:versionCode="2" android:versionName="2.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name=".new_menu"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".SetEvent" >
<intent-filter>
<action android:name="com.AEM_n.SETEVENT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".AddParticipants" />
<activity
android:label="@string/app_name"
android:name=".CreateMessage" />
<activity
android:label="@string/app_name"
android:name=".DataBaseClass" />
<activity
android:label="@string/app_name"
android:name=".IntentReceiver"/>
<activity
android:label="@string/app_name"
android:name=".SmsReceiver"
/>
<receiver android:name=".SmsReceiver" android:exported="true">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
</application>
</manifest>
मैं पहले से ही सभी Stackoverflow दिए गए उत्तर की कोशिश की है ... लेकिन कोई फायदा नहीं ...
कृपया लोग मुझे बताओ मैं कहाँ जा रहा हूँ गलत ... धन्यवाद!
त्रुटि लॉग:
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): FATAL EXCEPTION: main
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): java.lang.RuntimeException: Error receiving broadcast Intent { act=com.myapp.myaction (has extras) } in [email protected]
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:722)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at android.os.Handler.handleCallback(Handler.java:587)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at android.os.Handler.dispatchMessage(Handler.java:92)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at android.os.Looper.loop(Looper.java:123)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at android.app.ActivityThread.main(ActivityThread.java:3701)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at java.lang.reflect.Method.invokeNative(Native Method)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at java.lang.reflect.Method.invoke(Method.java:507)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at dalvik.system.NativeStart.main(Native Method)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): Caused by: java.lang.NullPointerException
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at com.AEM_n.SmsReceiver.onReceive(SmsReceiver.java:37)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:709)
04-07 02:34:02.770: ERROR/AndroidRuntime(25593): ... 9 more
इराद वर्ग में 'putExtra() 'विधि है। स्पष्ट 'बंडल' निर्माण की कोई ज़रूरत नहीं है। साथ ही, 'स्टार्टएक्टिविटी() 'रिसीवर प्रसारित करने के इरादे को वितरित नहीं करता है - यह एक गतिविधि शुरू करता है। –
इस प्रसारण को प्रसारित करने का अर्थ है 'sendBroadcast' और 'sendOrderedBroadcast' का उपयोग करना? –
आपको प्रसारण की आवश्यकता क्यों है ?? आपका लक्ष्य दो गतिविधियों के बीच डेटा पास करना है? और क्या? – iTurki