コード例 #1
0
ファイル: P2PManager.cs プロジェクト: fubar-coder/cryptrans
        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
0
        /// <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
0
ファイル: BugsnagClient.cs プロジェクト: karabatov/mobile
            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
0
ファイル: BugsnagClient.cs プロジェクト: karabatov/mobile
            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
0
		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);
			}
		}