BroadcastTileSupport

A simple implementation showing how to use the new "Broadcast Tile" in Android M's System UI Tuner.

  • 所有者: kcoppock/BroadcastTileSupport
  • 平台:
  • 许可证: Apache License 2.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

BroadcastTileSupport

If you've unlocked the System UI Tuner on one of your devices running Android Marshmallow (6.0), you've probably noticed the "Broadcast Tile" option, and wondered what it's useful for. I did some digging through the source, and found the general gist of the tile. It's used for registering a custom tile that can have its icon and label configured, and also send either PendingIntent or Intent broadcasts upon a click or a long-click of the tile.

Configuring a custom tile

  1. Enable the System UI Tuner. If you haven't done it yet, press and hold the Settings icon in the notification shade for about eight seconds. The icon should change to show a wrench next to the gear. You'll then see a "System UI Tuner" option at the end of Settings.

  2. Add a Broadcast Tile through the System UI Tuner. If you're using the sample app provided in this repo, set the action to "com.kcoppock.CUSTOMTILE". You won't see the tile in your notification shade after you leave settings -- that's because it's not visible by default.

  3. Run the sample app and select "Show Tile".

  4. You now have a custom Quick Settings tile! The sample app configures it to show a Toast on a click event (dismiss the shade after you click, since the toast is under the shade), and to show a simple notification on a long click.

Using the library

Everything you need to configure your own custom tile can be provided by the BroadcastTileIntentBuilder class. Simply construct a new instance of the builder, using the action used when you added the tile through System Ui Tuner (note: this action must consist only of alphanumeric characters and periods) and configure any other behavior as desired. For example:

Intent tileConfigurationIntent = new BroadcastTileIntentBuilder(context, "com.kcoppock.CUSTOMTILE")
        .setLabel("My Tile")
        .setIcon(R.drawable.my_tile_icon)
        .setOnClickBroadcast(new Intent("my.custom.action"))
        .build();
        
context.sendBroadcast(tileConfigurationIntent);

主要指标

概览
名称与所有者kcoppock/BroadcastTileSupport
主编程语言Java
编程语言Java (语言数: 1)
平台
许可证Apache License 2.0
所有者活动
创建于2015-10-24 06:05:00
推送于2015-10-24 06:46:13
最后一次提交2015-10-23 23:46:13
发布数0
用户参与
星数70
关注者数3
派生数7
提交数5
已启用问题?
问题数0
打开的问题数0
拉请求数0
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?