# Read battery level

**URL:** https://discourse.processing.org/t/read-battery-level/43414
**Category:** Processing for Android
**Created:** [December 7, 2023, 5:41pm UTC](https://discourse.processing.org/t/read-battery-level/43414 "2023-12-07T17:41:06Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![dtmr](https://avatars.discourse-cdn.com/v4/letter/d/4da419/32.png) [@dtmr](https://discourse.processing.org/u/dtmr)
#### Post date: [December 7, 2023, 5:41pm UTC](https://discourse.processing.org/t/read-battery-level/43414/1 "2023-12-07T17:41:06Z")

</div>

When I use the following battery reading code from [Battery Level - Processing Forum](https://forum.processing.org/one/topic/battery-level.html), I get a compiler error: "The method registerReceiver(BroadcastReceiver, IntentFilter) is undefined for the type test. “test” is the name of the program. Is there a fix for this?

```auto
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;

int BatteryLevel;

void setup()
{
	;
}

void draw()
{
	println(BatteryLevel);
}

private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver()
{
    @Override
    public void onReceive(Context c, Intent i)
    {
        BatteryLevel = i.getIntExtra("level", 0);
    }
};

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    
    registerReceiver(mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}

```

I’m using Processing 3 and Android mode 4.1.1. I can not upgrade to Processing 4 because my app randomly crashes under Processing 4 if the window is resized. I tried upgrading the Android mode but after that, nothing compiled anymore and I had to restore my C: drive from a backup to get back a working SDK installation.

---

<div class="post-metadata">

### Author: ![mnse](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/mnse/32/16520_2.png) [@mnse](https://discourse.processing.org/u/mnse)
#### Post date: [December 7, 2023, 7:54pm UTC](https://discourse.processing.org/t/read-battery-level/43414/2 "2023-12-07T19:54:05Z")

</div>

Hi @dtmr,

The method `registerReceiver` belongs to the context, so  
`getContext().registerReceiver(...`

Cheers  
— mnse

---

<div class="post-metadata">

### Author: ![dtmr](https://avatars.discourse-cdn.com/v4/letter/d/4da419/32.png) [@dtmr](https://discourse.processing.org/u/dtmr)
#### Post date: [December 8, 2023, 8:01pm UTC](https://discourse.processing.org/t/read-battery-level/43414/3 "2023-12-08T20:01:07Z")

</div>

Thanks, that worked.
