Skip to content

Instantly share code, notes, and snippets.

View cyrushine's full-sized avatar
💭
🥊

cyrus cyrushine

💭
🥊
  • GZ
View GitHub Profile
@cyrushine
cyrushine / light_control_layout.json
Created July 2, 2024 07:37
灯类控制卡片动态布局
{
"models": [
"viot.light.ebl40a"
],
"cards": {
"card_items": [
{
"param_delta": 0,
"cardType": 1,
"prop_key": "spec.2.1",
@cyrushine
cyrushine / fridge_control_layout.json
Created July 2, 2024 07:36
冰箱控制卡片动态布局
{
"models": [
"viot.fridge.u71"
],
"cards": {
"card_items": [
{
"param_delta": 0,
"cardType": 200,
"prop_key": "spec.3.2",
@cyrushine
cyrushine / air_control_layout.json
Created July 2, 2024 07:34
空调控制卡片布局
{
"models": [
"viot.aircondition.sd24"
],
"cards": {
"card_items": [
{
"param_delta": 0,
"cardType": 1,
"prop_key": "spec.2.1",
@cyrushine
cyrushine / StatusBar.kt
Created June 13, 2024 08:44
透明状态栏,且状态栏悬浮在页面上面
/**
* @author 林威
* @createdAt 2024/5/17
*/
fun Window.translucentStatusBar(lightIcon: Boolean = true) {
try {//添加Flag把状态栏设为可绘制模式
addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
//如果为全透明模式,取消设置Window半透明的Flag
@cyrushine
cyrushine / gist:8a23daae6d2a51870231
Created March 11, 2016 08:23
获取设备上已安装的包/应用/程序
PackageManager pm = getApplicationContext().getPackageManager();
for(PackageInfo p : pm.getInstalledPackages(0)){
String label = p.applicationInfo.loadLabel(pm).toString(); // 应用的label
Drawable icon = p.applicationInfo.loadIcon(pm); // 应用的icon图标
String version = p.versionName; // 应用的版本号
}
PackageInfo 对应整个AndroidManifest.xml清单文件
PackageInfo.permissions 对应uses-permission列表
PackageInfo.activities 对应清单中声明的activity列表
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; // 窗体在应用窗体上面,在系统窗体下面
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; // 不获取输入焦点,这样后面的应用窗体就可以进行输入了
layoutParams.format = PixelFormat.RGBA_8888; // 透明背景
/**
* x,y和gravity需要结合使用来设置窗体的位置
* 指定gravity后,x和y表示窗体距离gravity的offset
* gravity默认屏幕居中
*/
layoutParams.gravity = Gravity.TOP | Gravity.LEFT;
@cyrushine
cyrushine / gist:cd25b8438e35190f06ee
Created March 10, 2016 06:07
读取联系人/通讯录
读取联系人URI:ContactsContract.Contacts.CONTENT_URI
字段:ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME
联系人号码URI:ContactsContract.CommonDataKinds.Phone.CONTENT_URI
字段:ContactsContract.CommonDataKinds.Phone.NUMBER
查询条件:ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = <contact id>"
@cyrushine
cyrushine / gist:82976392ba84898c0f20
Created March 9, 2016 05:32
获取相册图片列表
//大图遍历字段
private static final String[] STORE_IMAGES = {
MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATA,
MediaStore.Images.Media.ORIENTATION
};
//小图遍历字段
private static final String[] THUMBNAIL_STORE_IMAGE = {
MediaStore.Images.Thumbnails._ID,
MediaStore.Images.Thumbnails.DATA
@cyrushine
cyrushine / gist:d339560133d575926d98
Last active March 9, 2016 03:52
从本地相册/相机里选一张相片
// 从本地相册里选一张相片
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");//相片类型
startActivityForResult(intent, REQUEST_CODE_PICK_IMAGE);
// 从相机拍张相片
Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(getImageByCamera, REQUEST_CODE_CAPTURE_CAMEIA);
// 取得用户选的相片