本文整理汇总了C#中Android.Content.Context.RegisterReceiver方法的典型用法代码示例。如果您正苦于以下问题:C# Context.RegisterReceiver方法的具体用法?C# Context.RegisterReceiver怎么用?C# Context.RegisterReceiver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Android.Content.Context
的用法示例。
在下文中一共展示了Context.RegisterReceiver方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialize
public static void Initialize(Context ctx)
{
P2PManager.ctx = ctx;
if (intentFilter == null)
{
intentFilter = new IntentFilter();
intentFilter.AddAction(WifiP2pManager.WifiP2pStateChangedAction);
intentFilter.AddAction(WifiP2pManager.WifiP2pPeersChangedAction);
intentFilter.AddAction(WifiP2pManager.WifiP2pConnectionChangedAction);
intentFilter.AddAction(WifiP2pManager.WifiP2pThisDeviceChangedAction);
}
if (manager == null)
{
manager = (WifiP2pManager)ctx.GetSystemService(Context.WifiP2pService);
channel = manager.Initialize(ctx, ctx.MainLooper, null);
}
if (receiver == null)
{
receiver = new WiFiDirectBroadcastReceiver(manager, channel);
}
ctx.RegisterReceiver(receiver, intentFilter);
}
示例2: PermissionRequested
/// <summary>
/// Requests temporary permission for the given package to access the accessory.
/// This may result in a system dialog being displayed to the user if permission had not already been granted.
/// </summary>
/// <returns>The observable sequence of permission values.</returns>
/// <param name="manager">The UsbManager system service.</param>
/// <param name="context">The Context to request the permission from.</param>
/// <param name="accessory">The UsbAccessory to request permission for.</param>
public static IObservable<bool> PermissionRequested(this UsbManager manager, Context context, UsbAccessory accessory)
{
return Observable.Create<bool> (observer => {
var usbPermissionReceiver = new UsbAccessoryPermissionReceiver (observer, accessory);
context.RegisterReceiver (usbPermissionReceiver, new IntentFilter (ACTION_USB_PERMISSION));
var intent = PendingIntent.GetBroadcast (context, 0, new Intent (ACTION_USB_PERMISSION), 0);
manager.RequestPermission (accessory, intent);
return Disposable.Create (() => context.UnregisterReceiver (usbPermissionReceiver));
});
}
示例3: GetBatteryLevel
public static float GetBatteryLevel (Context ctx)
{
try {
var filter = new IntentFilter (Intent.ActionBatteryChanged);
var intent = ctx.RegisterReceiver (null, filter);
int level = intent.GetIntExtra ("level", -1);
int scale = intent.GetIntExtra ("scale", -1);
return level / (float)scale;
} catch (Java.Lang.Throwable ex) {
Log.Warn (Tag, ex, "Failed to determine battery level.");
return 0;
}
}
示例4: CheckBatteryCharging
public static bool CheckBatteryCharging (Context ctx)
{
try {
var filter = new IntentFilter (Intent.ActionBatteryChanged);
var intent = ctx.RegisterReceiver (null, filter);
var status = (Android.OS.BatteryStatus)intent.GetIntExtra ("status", -1);
return status == Android.OS.BatteryStatus.Charging || status == Android.OS.BatteryStatus.Full;
} catch (Java.Lang.Throwable ex) {
Log.Warn (Tag, ex, "Failed to determine if the battery is charging.");
return false;
}
}
示例5: SetRetryBroadcastReceiver
static void SetRetryBroadcastReceiver(Context context)
{
if (sRetryReceiver == null)
{
sRetryReceiver = new GCMBroadcastReceiver();
var category = context.PackageName;
var filter = new IntentFilter(GCMConstants.INTENT_FROM_GCM_LIBRARY_RETRY);
filter.AddCategory(category);
var permission = category + ".permission.C2D_MESSAGE";
Log.Verbose(TAG, "Registering receiver");
context.RegisterReceiver(sRetryReceiver, filter, permission, null);
}
}