私はOTPメッセージを自動的に取得するためにAndroidのアプリケーションでBroadcastReceiverを使用しています。しかし、BroadcastReceiverは動作していないため、このバグを見つけられませんので、助けてください。Log.d( "onReciver"、 "on" ")をonReceive()にチェックしても動作しません。BroadcastReceiverが動作していません
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>
どのように受信機をトリガーしていますか? –
着信メッセージクラスのオブジェクトを作成 –
メッセージ受信時にコードがトリガされましたか? –