I have created an app that initiates a broadcast receiver class that should auto respond to phone calls with a text message. The receiver is working however I get the following exception:
*java.lang.IllegalArgumentException: Invalid destinationAddress* It looks like "incomingNumber" isn't actually getting retrieved. Please help!!! *Main Activity:* package com.biapps.makin_biscuits; import android.content.BroadcastReceiver;import android.content.Context;import android.content.ContextWrapper;import android.media.AudioManager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.content.Intent;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import android.view.View;import android.widget.ImageButton;import android.util.Log;import android.widget.TextView;import android.widget.Toast; import com.biapps.Contact;import com.biapps.DatabaseHandler; import java.util.List; public class MainActivity extends AppCompatActivity { //set object labels and states here private ImageButton icon; private AudioManager am; private ImageButton people; private ImageButton ring; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); icon = (ImageButton) findViewById(R.id.icon); icon.setOnClickListener(imgButtonHandler); people = (ImageButton) findViewById(R.id.people); people.setOnClickListener(peopleButtonHandler); ring = (ImageButton) findViewById(R.id.ring); } int buttonstate = 0; public View.OnClickListener imgButtonHandler = new View.OnClickListener() { public void onClick(View v) { if (buttonstate == 0) { icon.setImageResource(R.drawable.buttonup); buttonstate = 1; am.setRingerMode(0); Toast.makeText(getApplicationContext(), "Go!!", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(); intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); intent.setAction("android.intent.action.Trigger"); sendBroadcast(intent); } else { icon.setImageResource(R.drawable.button); buttonstate = 0; am.setRingerMode(2); Toast.makeText(getApplicationContext(), "Come back!!", Toast.LENGTH_SHORT).show(); } } }; *Incoming Call Reveiver:* package com.biapps.makin_biscuits; import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.PhoneStateListener;import android.telephony.SmsManager;import android.telephony.TelephonyManager;import android.util.Log;import android.widget.Toast; /** * Created by Jake on 3/21/2016. */ public class IncomingCallReceiver extends BroadcastReceiver { private static final String TAG = "MyListener"; private Context mContext; private Intent mIntent; @Override public void onReceive(Context context, Intent intent) { mContext = context; mIntent = intent; TelephonyManager tm = (TelephonyManager)mContext.getSystemService(Context.TELEPHONY_SERVICE); int events = PhoneStateListener.LISTEN_CALL_STATE; tm.listen(phoneStateListener, events); } private final PhoneStateListener phoneStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); Log.i(TAG, "number: " + incomingNumber + ""); String PhoneNr = incomingNumber; switch (state) { case TelephonyManager.CALL_STATE_IDLE: Toast.makeText(mContext,"no-one Calling " + PhoneNr,Toast.LENGTH_LONG).show(); break; case TelephonyManager.CALL_STATE_RINGING: // -- check international call or not. if (incomingNumber.startsWith("1865")) { Toast.makeText(mContext,"Knoxville Calling " + PhoneNr + "",Toast.LENGTH_LONG).show(); SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(PhoneNr, null, "I'm busy bruh", null, null); } else { Toast.makeText(mContext,"Other Calling: " + PhoneNr + "", Toast.LENGTH_LONG).show(); SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(PhoneNr, null, "I'm busy bruh", null, null); } } } };} *Manifest:* <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.biapps.makin_biscuits"> <uses-sdk android:minSdkVersion="4" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.SEND_SMS"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ContactsList"> <intent-filter> <category android:name="android.intent.category.ALTERNATIVE" /> </intent-filter> </activity> <receiver android:name=".IncomingCallReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> <action android:name="android.intent.action.Trigger" /> </intent-filter> </receiver> </application> </manifest> -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. To post to this group, send email to android-developers@googlegroups.com. Visit this group at https://groups.google.com/group/android-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/1cb12b47-a599-4ebe-aae9-5198ccc82da2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.