Note that there are some explanatory texts on larger screens.

plurals
  1. PODetecting Battery Charging Android
    primarykey
    data
    text
    <p>I;m programmatically rejecting an incoming calls. The "call reject" and "sendSMS" work fine, but I want to reject the call only if the phone is in charging mode.</p> <p>I'm trying to implement the following code :</p> <pre><code> case TelephonyManager.CALL_STATE_RINGING: if (isCharging()) { reject(); sendSMS(incomingNumber); } break; </code></pre> <p>isCharging: </p> <pre><code>public boolean isCharging() { IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatus = contextMember.registerReceiver(null, ifilter); int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1); boolean bCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL; return bCharging; } </code></pre> <p>But the app keeps crushing on incoming call.</p> <p>Please help me to figure this out!</p> <p>I'm receiving the following errors on the LogCat:</p> <pre><code> E/AndroidRuntime(11160): FATAL EXCEPTION: main E/AndroidRuntime(11160): android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to register to receive intents E/AndroidRuntime(11160): at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:163) E/AndroidRuntime(11160): at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:157) E/AndroidRuntime(11160): at com.SmartDialer_app.SmartDialer.MyPhoneStateListener.isCharging(MyPhoneStateListener.java:106) E/AndroidRuntime(11160): at com.SmartDialer_app.SmartDialer.MyPhoneStateListener.onCallStateChanged(MyPhoneStateListene r.java:57) E/AndroidRuntime(11160): at android.telephony.PhoneStateListener$2.handleMessage(PhoneStateListener.java:393) E/AndroidRuntime(11160): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(11160): at android.os.Looper.loop(Looper.java:137) E/AndroidRuntime(11160): at android.app.ActivityThread.main(ActivityThread.java:4898) E/AndroidRuntime(11160): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(11160): at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime(11160): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) E/AndroidRuntime(11160): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) E/AndroidRuntime(11160): at dalvik.system.NativeStart.main(Native Method) E/AndroidRuntime(11160): FATAL EXCEPTION: main E/AndroidRuntime(11160): android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to register to receive intents E/AndroidRuntime(11160): at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:163) E/AndroidRuntime(11160): at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:157) E/AndroidRuntime(11160): at com.SmartDialer_app.SmartDialer.MyPhoneStateListener.isCharging(MyPhoneStateListener.java:1 06) E/AndroidRuntime(11160): at com.SmartDialer_app.SmartDialer.MyPhoneStateListener.onCallStateChanged(MyPhoneStateListener.java:57) E/AndroidRuntime(11160): at android.telephony.PhoneStateListener$2.handleMessage(PhoneStateListener.java:393) E/AndroidRuntime(11160): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(11160): at android.os.Looper.loop(Looper.java:137) E/AndroidRuntime(11160): at android.app.ActivityThread.main(ActivityThread.java:4898) E/AndroidRuntime(11160): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(11160): at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime(11160): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) E/AndroidRuntime(11160): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) E/AndroidRuntime(11160): at dalvik.system.NativeStart.main(Native Method) </code></pre> <p>Thank you.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload