private void insertBadgeAsync(int badgeCount, String packageName, String activityName) {
        final ContentValues contentValues = new ContentValues();
        contentValues.put(PROVIDER_COLUMNS_BADGE_COUNT, badgeCount);
        contentValues.put(PROVIDER_COLUMNS_PACKAGE_NAME, packageName);
        contentValues.put(PROVIDER_COLUMNS_ACTIVITY_NAME, activityName);

        // The badge must be inserted on a background thread
        mQueryHandler.startInsert(0, null, BADGE_CONTENT_URI, contentValues);
    }
Insert a badge associated with the specified package and activity names
asynchronously. The package and activity names must correspond to an
activity that holds an intent filter with action
"android.intent.action.MAIN" and category
"android.intent.category.LAUNCHER" in the manifest. Also, it is not
allowed to publish badges on behalf of another client, so the package and
activity names must belong to the process from which the insert is made.
To be able to insert badges, the app must have the PROVIDER_INSERT_BADGE
permission in the manifest file. In case these conditions are not
fulfilled, or any content values are missing, there will be an unhandled
exception on the background thread.

@param badgeCount   the badge count
@param packageName  the package name
@param activityName the activity name
app/src/main/java/home/smart/fly/animations/widget/clearbadge/impl/SonyHomeBadger.java