toukea / android-IstatSms

An Android Library which make Sms manipulation easy -Send SMS, Receive SMS and Query them from SmSProvider using and easy sms query builder
10 stars 2 forks source link

Exception in sent : call to unregisterReceiver() ? #4

Open Paul75 opened 6 years ago

Paul75 commented 6 years ago

Hello,

Today I see that in console when I send message it say :

Activity fr.laposte.gompost.activity.ControlsActivity has leaked IntentReceiver istat.android.telephony.sms.tools.SmsSender$1@607383a that was originally registered here. Are you missing a call to unregisterReceiver()? android.app.IntentReceiverLeaked: Activity fr.laposte.gompost.activity.ControlsActivity has leaked IntentReceiver istat.android.telephony.sms.tools.SmsSender$1@607383a that was originally registered here. Are you missing a call to unregisterReceiver()? at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:1174) at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:947) at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1342) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1322) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1316) at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:593) at istat.android.telephony.sms.tools.SmsSender.sendSms(SmsSender.java:83) at istat.android.telephony.sms.tools.SmsSender.sendSms(SmsSender.java:70) at istat.android.telephony.sms.tools.SmsSender.sendSms(SmsSender.java:74) at fr.laposte.gompost.utils.MessagesManager.sendSMS(MessagesManager.java:29) at fr.laposte.gompost.activity.ControlsActivity.onClick(ControlsActivity.java:188) at android.view.View.performClick(View.java:5610) at android.view.View$PerformClick.run(View.java:22277) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:159) at android.app.ActivityThread.main(ActivityThread.java:6097) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

And not see why ?

When I send a message without you plugin that : `new Thread(new Runnable() { @Override public void run() { SmsManager sms = SmsManager.getDefault();

            ArrayList<String> parts = sms.divideMessage(message);

            sms.sendMultipartTextMessage(address, null, parts, null, null);
        }
    }).start();`

It send without errors....

But the message sent ...

Thanks for help

toukea commented 6 years ago

ok, thx, i have found the mistake. when multipart sms sending proceed, BroadcastReceiver to listen for Sms Sending and delivery state was not unregistered properly. i have also published a new version 1.3.4. which well unregister receiver on multipart sms sending.

compile 'istat.android.telephony.sms:istat-sms:1.3.4'

Also , it is possible to unregister manually the SmsSender Callback by calling smsSender.cancel(); which has to effect to cancel the listener on case where you don't want to listen sms sending or delivery state any more

Paul75 commented 6 years ago

I update with your version but same errors ...

toukea commented 6 years ago

ok, please! send me the piece of code which is used when calling Sms Library