BuzzioSticker API

Android

Your app exposes a ContentProvider. Buzzio reads metadata and WebP files, then copies them locally after the user confirms.

Permission and provider

Buzzio defines com.ve.ghost.sticker.READ. Do not re-declare that permission in your app. Require it on your provider:

<provider
    android:name=".StickerContentProvider"
    android:authorities="${applicationId}.stickercontentprovider"
    android:enabled="true"
    android:exported="true"
    android:readPermission="com.ve.ghost.sticker.READ" />

<queries>
    <package android:name="com.ve.ghost" />
</queries>

Authority must start with your application id.

Open Buzzio

val intent = Intent("com.ve.ghost.intent.action.ENABLE_STICKER_PACK").apply {
    putExtra("sticker_pack_id", packId)
    putExtra("sticker_pack_authority", authority)
    putExtra("sticker_pack_name", packName)
}
startActivityForResult(intent, 200)

Do not use WhatsApp’s action name. One Add button per pack. RESULT_OK means the user added it. ActivityNotFoundException means Buzzio is not installed.

ContentProvider paths

URIReturns
content://{authority}/metadataAll packs
content://{authority}/metadata/{pack_id}One pack
content://{authority}/stickers/{pack_id}Sticker file names, emoji, a11y text
content://{authority}/stickers_asset/{pack_id}/{file}Bytes via openAssetFile

Column names match WhatsApp so existing sticker apps can reuse query code. Full column list: spec.

Sample

Repo path examples/sticker-app/android — one placeholder pack and an Add to Buzzio button.