SMS BroadCastReceiver

پرسیده شده
فعالیت 1421 روز پیش
دیده شده 677 بار
1

سلام استاد خسته نباشید
من میخوام به اس‌ام‌اس‌ها گوش بدم ولی هر کاری میکنم انجام نمیشه شارژم تموم شد از بس اس دادم به خودم :)
 

<uses-permission android:name="android.permission.RECEIVE_SMS"/>


<receiver android:name=".MyBroadCastReceiver"
            android:permission="android.permission.BROADCAST_SMS">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>

این مانیفستم هستش

 

public class MyBroadCastReceiver extends BroadcastReceiver {
    private static final String TAG = "MyBroadCastReceiver";

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i(TAG, "onReceive: ");
    }
}

و این هم کدم
روی اندروید 10 و پنج تست گرفتم کار نکرد
لطفا راهنماییم کنید

فایل پیوست

0
حذف شده

این یکی روش هم امتحان کردم نشد

 

public class MainActivity extends BaseActivity {
    private MainViewModel viewModel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        viewModel = new MainViewModel(this);
        registerReceiver(broadcastReceiver,
                new IntentFilter("android.provider.Telephony.SMS_RECEIVED"));
//        checkInternetConnection();

    }

    private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            shortMessage("some sms received!");
        }
    };
}

 

فایل پیوست

محمد باقر ملایی

توسط

محمد باقر ملایی

6 خرداد 99

1
حذف شده

سلام میتونین از روش زیر امتحان کنین


class VSmsReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val pdus = intent.extras.get("pdus") as Array<*>
        val sms = SmsMessage.createFromPdu(pdus[0] as ByteArray)
        Common.vLog(sms.originatingAddress)
        if (VBase.getCurrentActivity() != null) {
            openEditTransactionDialog(VBase.getContext(), sms)
            return
        }
        Dialog.openReceiveTransactionActivityDialog(sms)
    }


    fun decodeSms(intent: Intent) {
        val pdus = intent.extras.get("pdus") as Array<*>
        val sms = SmsMessage.createFromPdu(pdus[0] as ByteArray)
        Log.i("LOGGER", "sender is ${sms.originatingAddress}")
        val senderTel = sms.originatingAddress
        val messageBody = sms.messageBody
        // Toast.makeText(VBase.getContext(), senderTel + " : " + messageBody, Toast.LENGTH_LONG).show();
    }
}

 

و از به روش زیر داخل منیفست ست کنین

<receiver
     android:name="project.core.services.VSmsReceiver"
     android:enabled="true"
     android:permission="android.permission.BROADCAST_SMS">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
</receiver>

 

فایل پیوست

وحید گروسی

توسط

وحید گروسی

15 خرداد 99