I am using BroadcastReceiver in android app to get OTP message automatically.But BroadcastReceiver is not working and don't find the bug so please help me.I put Log.d("onReciver","on") in onReceive() to check but its not working.
IncomingMessage.java
public class IncomingMessage extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("onReciver","on");
final Bundle bundle = intent.getExtras();
try {
if (bundle != null)
{
final Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj .length; i++)
{
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String senderNum = phoneNumber ;
Log.d("sender NUm",senderNum);
String message = currentMessage .getDisplayMessageBody();
try
{
if (senderNum.equals("(727)594-3351"))
{
OtpVarificationActivity Sms = new OtpVarificationActivity();
Sms.recivedSms(message );
}
}
catch(Exception e){
Log.e("BR error",e.toString());
}
}
}
} catch (Exception e)
{
Log.e("BR error1",e.toString());
}
}
}
Manifest.xml
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
...
...
...
<receiver android:name="com.appsprotocol.dcntv.broadcast.IncomingMessage">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>