我是一名在Xamarin工作的Android开发人员。我是iOS的新手。
我想从我的应用程序中检测到电池电量不足时。
在android中我使用BroadcastReceiver
实现。
虽然在iOS中我无法找到像android那样的pub-sub模型。
在iOS中,我希望从操作系统注册广播接收器以获得低电量广播,以便在电池电量不足时通知应用程序。
即使是快速的代码也是可以接受的。我可以从那里开始在Xamarin工作。
下面是我的Android实现的Xamarin代码。
public class AppBatteryBroadcastReceiver : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
int level = intent.GetIntExtra(BatteryManager.ExtraLevel, -1);
int scale = intent.GetIntExtra(BatteryManager.ExtraScale, -1);
int levelPercentage = (level != -1 && scale != -1) ? (int)Math.Floor(level * 100D / scale) : 101;
}
}
我正在从我的MainActivity.cs注册此类的实例,如下所示
var intentFilter = new IntentFilter();
intentFilter.AddAction(Intent.ActionBatteryChanged);
RegisterReceiver(_batteryBroadcastReceiver, intentFilter);
在每次更换电池时,我会在上面的OnReceive
方法中收到通知。从那里我可以检查电池是否低于一定水平。