То, что я пытаюсь сделать, это то, что числа, к которым мое приложение отправляет сообщения, передаются в BraodcastReceiver... но до сих пор либо я получаю null, либо BroadcastReceiver просто просто падает.
вот мое намерение для BroadcastReceiver из класса CreateMessage...
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