gddhy

_(:з」∠)_ 加载中...
  • 主页
  • 归档
  • 工具
  • 关于
所有文章 友链

gddhy

_(:з」∠)_ 加载中...

  • 主页
  • 归档
  • 工具
  • 关于

安卓通知栏磁贴

2021-02-03
字数统计:352字 阅读时长≈1分

通知栏磁贴,安卓7引入的,可以快速指定操作

直接上代码

在AndroidManifest.xml中添加

1
2
3
4
5
6
7
8
9
<service
android:name=".TitleService"
android:icon="@drawable/title"
android:label="@string/app_name"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>
</service>

Java文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class TitleService extends TileService {
//添加磁贴时调用
@Override
public void onTileAdded() {
super.onTileAdded();
}

//移除磁贴时调用
@Override
public void onTileRemoved() {
super.onTileRemoved();
}

//点击事件
@Override
public void onClick() {
super.onClick();
}

//只有添加后才调用
//通知栏下拉
@Override
public void onStartListening () {
super.onStartListening();
}

//通知栏关闭
@Override
public void onStopListening () {
super.onStopListening();
}

//设置磁贴颜色
public void setQuickSettingColor(){
//更改成非活跃状态(灰色)
getQsTile().setState(Tile.STATE_ACTIVE);
//更改成活跃状态(白色)
//getQsTile().setState(Tile.STATE_INACTIVE);
getQsTile().updateTile();//更新Tile
}
}

如果想要长按磁贴拉起指定Activity而不是应用设置,在想要拉起的Activity中添加

1
2
3
4
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>

可以考虑添加点击后收起通知栏

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void collapseStatusBar(Context context){
try{
@SuppressLint("WrongConstant") Object statusBarManager = context.getSystemService("statusbar");
Method collapse;

if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN){
assert statusBarManager != null;
collapse = statusBarManager.getClass().getMethod("collapse");
} else {
assert statusBarManager != null;
collapse = statusBarManager.getClass().getMethod("collapsePanels");
}
collapse.invoke(statusBarManager);
} catch (Exception localException) {
localException.printStackTrace();
}
}

收起通知栏需要申请权限

1
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
赏

谢谢你请我吃糖果

微信
  • Android

扫一扫,分享到微信

微信分享二维码
免电脑执行adb
live2d看板娘
目录,不存在的…
留言已关闭
:gddhy
© gddhy
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链

tag:

  • Android
  • 软件分享
  • game
  • Hexo
  • JavaScript
  • 旧机博物馆
  • MIUI
  • Java
  • git
  • Termux
  • mtk
  • 原神
  • Win
  • Html
  • 安卓学习笔记

    缺失模块

  • Luminous' Home
  • 影子博客
  • 四次元领域
  • 初之音
  • Mr.Pumpkin
  • ZhaoQuinn 's Blog