public override void SetBadge(int count) {
	        var intent = new Intent("com.htc.launcher.action.UPDATE_SHORTCUT");
	        intent.PutExtra("packagename", GetPackageName());
	        intent.PutExtra("count", count);
			mContext.SendBroadcast (intent);

	        var setNotificationIntent = new Intent("com.htc.launcher.action.SET_NOTIFICATION");
	        var componentName = new ComponentName(GetPackageName(), GetMainActivityClassName());
	        setNotificationIntent.PutExtra("com.htc.launcher.extra.COMPONENT", componentName.FlattenToShortString());
	        setNotificationIntent.PutExtra("com.htc.launcher.extra.COUNT", count);
	        mContext.SendBroadcast(setNotificationIntent);
	    }
        public bool Set(Context context, ComponentName component, int badgeCount)
        {
            Intent intent1 = new Intent(INTENT_SET_NOTIFICATION);

            intent1.PutExtra(EXTRA_COMPONENT, component.FlattenToShortString());
            intent1.PutExtra(EXTRA_COUNT, badgeCount);

            Intent intent2 = new Intent(INTENT_UPDATE_SHORTCUT);

            intent2.PutExtra(PACKAGENAME, component.PackageName);
            intent2.PutExtra(COUNT, badgeCount);

            return(BroadcastHelper.SendBroadcast(context, intent1) & BroadcastHelper.SendBroadcast(context, intent2));
        }
        public override void ExecuteBadge(int badgeCount)
        {
            var intent1            = new Intent(IntentSetNotification);
            var localComponentName = new ComponentName(ContextPackageName, EntryActivityName);

            intent1.PutExtra(ExtraComponent, localComponentName.FlattenToShortString());
            intent1.PutExtra(ExtraCount, badgeCount);
            _context.SendBroadcast(intent1);

            var intent = new Intent(IntentUpdateShortcut);

            intent.PutExtra(Packagename, ContextPackageName);
            intent.PutExtra(Count, badgeCount);
            _context.SendBroadcast(intent);
        }
        public override void SetBadge(int count)
        {
            var intent = new Intent("com.htc.launcher.action.UPDATE_SHORTCUT");

            intent.PutExtra("packagename", GetPackageName());
            intent.PutExtra("count", count);
            mContext.SendBroadcast(intent);

            var setNotificationIntent = new Intent("com.htc.launcher.action.SET_NOTIFICATION");
            var componentName         = new ComponentName(GetPackageName(), GetMainActivityClassName());

            setNotificationIntent.PutExtra("com.htc.launcher.extra.COMPONENT", componentName.FlattenToShortString());
            setNotificationIntent.PutExtra("com.htc.launcher.extra.COUNT", count);
            mContext.SendBroadcast(setNotificationIntent);
        }
        internal override void SetCount(int badgeCount)
        {
            CurrentCount = badgeCount;
            Intent        intent1            = new Intent(INTENT_SET_NOTIFICATION);
            ComponentName localComponentName = new ComponentName(GetContextPackageName(), GetEntryActivityName());

            intent1.PutExtra(EXTRA_COMPONENT, localComponentName.FlattenToShortString());
            intent1.PutExtra(EXTRA_COUNT, badgeCount);
            mContext.SendBroadcast(intent1);

            Intent intent = new Intent(INTENT_UPDATE_SHORTCUT);

            intent.PutExtra(PACKAGENAME, GetContextPackageName());
            intent.PutExtra(COUNT, badgeCount);
            mContext.SendBroadcast(intent);
        }
Exemple #6
0
        public static String GetHomeActivity(Context c)
        {
            PackageManager pm     = c.PackageManager;
            Intent         intent = new Intent(Intent.ActionMain);

            intent.AddCategory(Intent.CategoryHome);
            ComponentName cn = intent.ResolveActivity(pm);

            if (cn != null)
            {
                return(cn.FlattenToShortString());
            }
            else
            {
                return("none");
            }
        }
Exemple #7
0
        public void ExecuteBadge(Context context, ComponentName componentName, int badgeCount)
        {
            var intent1 = new Intent(IntentSetNotification);

            intent1.PutExtra(ExtraComponent, componentName.FlattenToShortString());
            intent1.PutExtra(ExtraCount, badgeCount);

            var intent = new Intent(IntentUpdateShortcut);

            intent.PutExtra(PackageName, componentName.PackageName);
            intent.PutExtra(Count, badgeCount);

            if (BroadcastHelper.CanResolveBroadcast(context, intent1) ||
                BroadcastHelper.CanResolveBroadcast(context, intent))
            {
                context.SendBroadcast(intent1);
                context.SendBroadcast(intent);
            }
            else
            {
                throw new ShortcutBadgeException("unable to resolve intent: " + intent);
            }
        }
Exemple #8
0
        public override void SetBadge(int badgeNumber)
        {
            if (badgeNumber < 0)
            {
                return;
            }

            try
            {
                //var launchIntent = mContext.PackageManager.GetLaunchIntentForPackage(mContext.PackageName);
                //var componentName = launchIntent.Component;

                /*var intent2 = new Intent("com.htc.launcher.action.UPDATE_SHORTCUT");
                 * intent2.PutExtra("packagename", componentName.PackageName);
                 * intent2.PutExtra("count", badgeNumber);
                 * mContext.SendBroadcast(intent2);
                 *
                 * var intent1 = new Intent("com.htc.launcher.action.SET_NOTIFICATION");
                 * intent1.PutExtra("com.htc.launcher.extra.COMPONENT", componentName.FlattenToShortString());
                 * intent1.PutExtra("com.htc.launcher.extra.COUNT", badgeNumber);
                 * mContext.SendBroadcast(intent1);*/

                var intent = new Intent("com.htc.launcher.action.UPDATE_SHORTCUT");
                intent.PutExtra("packagename", GetPackageName());
                intent.PutExtra("count", badgeNumber);
                mContext.SendBroadcast(intent);

                var setNotificationIntent = new Intent("com.htc.launcher.action.SET_NOTIFICATION");
                var componentName         = new ComponentName(GetPackageName(), GetClassName());
                setNotificationIntent.PutExtra("com.htc.launcher.extra.COMPONENT", componentName.FlattenToShortString());
                setNotificationIntent.PutExtra("com.htc.launcher.extra.COUNT", badgeNumber);
                mContext.SendBroadcast(setNotificationIntent);
            } catch (Exception ex) {
                Console.WriteLine("(HTC) unable to set badge: " + ex.Message);
            }
        }
        /// <summary>
        /// Do a <see cref="Context.StartService(Intent)"/>, but holding a wake lock while the service starts.
        /// </summary>
        /// <remarks>
        /// This will modify the intent to hold an extra identifying the wake lock. When the service receives it
        /// in <see cref="Service.OnStartCommand"/>, it should pass back the <see cref="Intent"/> it receives there to
        /// <see cref="CompleteWakefulIntent(Intent)"/> in order to release the wake lock.
        /// </remarks>
        /// <param name="context">The <see cref="Context"/> in which it operate.</param>
        /// <param name="intent">The <see cref="Intent"/> with which to start the service, as per <see cref="Context.StartService(Intent)"/>.</param>
        /// <returns>The <see cref="ComponentName"/> of the <see cref="Service"/> being started.</returns>
        internal static ComponentName StartWakefulService(Context context, Intent intent)
        {
            lock (activeWakeLocksMutex) {
                int id = nextId;
                nextId++;
                if (nextId <= 0)
                {
                    nextId = 1;
                }

                intent.PutExtra(ExtraWakeLockId, id);
                ComponentName comp = context.StartService(intent);
                if (comp == null)
                {
                    return(null);
                }

                PowerManager          pm = PowerManager.FromContext(context);
                PowerManager.WakeLock wl = pm.NewWakeLock(WakeLockFlags.Partial, "wake: " + comp.FlattenToShortString());
                wl.SetReferenceCounted(false);
                wl.Acquire(WakeLockTimeout);
                activeWakeLocks[id] = wl;

                return(comp);
            }
        }
        public override void SetBadge(int count)
        {
            var intent = new Intent(string.Format("{0}.{1}", HtcPackage, IntentAction));

            intent.PutExtra(PackageId, PackageName);
            intent.PutExtra(CountId, count);
            Context.SendBroadcast(intent);

            var setNotificationIntent = new Intent(string.Format("{0}.{1}", HtcPackage, SetNotificationAction));
            var componentName         = new ComponentName(PackageName, MainActivityClassName);

            setNotificationIntent.PutExtra(string.Format("{0}.{1}", HtcPackage, ComponentExtra), componentName.FlattenToShortString());
            setNotificationIntent.PutExtra(string.Format("{0}.{1}", HtcPackage, CountExtra), count);
            Context.SendBroadcast(setNotificationIntent);
        }