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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?