实现磁贴工具静态挂载...

This commit is contained in:
ZhanGSKen 2025-04-15 18:22:17 +08:00
parent dabd1271fd
commit 1a7134711e
3 changed files with 31 additions and 37 deletions

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Tue Apr 15 09:22:19 GMT 2025 #Tue Apr 15 10:20:33 GMT 2025
stageCount=1 stageCount=1
libraryProject= libraryProject=
baseVersion=15.2 baseVersion=15.2
publishVersion=15.2.0 publishVersion=15.2.0
buildCount=54 buildCount=55
baseBetaVersion=15.2.1 baseBetaVersion=15.2.1

View File

@ -9,35 +9,4 @@ import android.service.quicksettings.Tile;
import android.service.quicksettings.TileService; import android.service.quicksettings.TileService;
import cc.winboll.studio.autoinstaller.models.AppConfigs; import cc.winboll.studio.autoinstaller.models.AppConfigs;
public class AppBaseTileService extends TileService {
public static final String TAG = "AppBaseTileService";
@Override
public void onStartListening() {
super.onStartListening();
Tile tile = getQsTile();
tile.setIcon(android.graphics.drawable.Icon.createWithResource(this, R.drawable.ic_android));
// 更新磁贴状态
tile.setState(AppConfigs.getInstance(getApplicationContext()).isEnableService()?Tile.STATE_ACTIVE: Tile.STATE_INACTIVE);
tile.updateTile();
}
@Override
public void onClick() {
super.onClick();
// Tile tile = getQsTile();
//
// if (tile.getState() == Tile.STATE_ACTIVE) {
// tile.setState(Tile.STATE_INACTIVE);
// AppConfigs.getInstance(AppBaseTileService.this).setIsEnableService(false);
// AppConfigs.getInstance(AppBaseTileService.this).saveAppConfigs();
// MainActivity.stopMainService();
// } else if (tile.getState() == Tile.STATE_INACTIVE) {
// tile.setState(Tile.STATE_ACTIVE);
// AppConfigs.getInstance(AppBaseTileService.this).setIsEnableService(true);
// AppConfigs.getInstance(AppBaseTileService.this).saveAppConfigs();
// MainActivity.startMainService();
// }
}
}

View File

@ -10,10 +10,13 @@ import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.os.Message; import android.os.Message;
import android.service.quicksettings.Tile;
import android.service.quicksettings.TileService;
import android.widget.Toast; import android.widget.Toast;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import cc.winboll.studio.autoinstaller.FileListener; import cc.winboll.studio.autoinstaller.FileListener;
import cc.winboll.studio.autoinstaller.MainActivity; import cc.winboll.studio.autoinstaller.MainActivity;
import cc.winboll.studio.autoinstaller.R;
import cc.winboll.studio.autoinstaller.models.APKModel; import cc.winboll.studio.autoinstaller.models.APKModel;
import cc.winboll.studio.autoinstaller.models.AppConfigs; import cc.winboll.studio.autoinstaller.models.AppConfigs;
import cc.winboll.studio.autoinstaller.services.AssistantService; import cc.winboll.studio.autoinstaller.services.AssistantService;
@ -22,16 +25,16 @@ import cc.winboll.studio.autoinstaller.utils.NotificationUtil;
import cc.winboll.studio.autoinstaller.utils.PackageUtil; import cc.winboll.studio.autoinstaller.utils.PackageUtil;
import cc.winboll.studio.autoinstaller.utils.ServiceUtil; import cc.winboll.studio.autoinstaller.utils.ServiceUtil;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import com.hjq.toast.ToastUtils;
import java.io.File; import java.io.File;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.ArrayList; import java.util.ArrayList;
import cc.winboll.studio.autoinstaller.models.MainServiceBean;
public class MainService extends Service { public class MainService extends Service {
public static String TAG = "MainService"; public static String TAG = "MainService";
Context mContext;
ArrayList<APKModel> _APKModelList = new ArrayList<APKModel>(); ArrayList<APKModel> _APKModelList = new ArrayList<APKModel>();
private static boolean _mIsServiceAlive; private static boolean _mIsServiceAlive;
//String mszAPKFilePath; //String mszAPKFilePath;
@ -51,6 +54,7 @@ public class MainService extends Service {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
mContext = this;
LogUtils.d(TAG, "onCreate()"); LogUtils.d(TAG, "onCreate()");
_mIsServiceAlive = false; _mIsServiceAlive = false;
mHandler = new MyHandler(MainService.this); mHandler = new MyHandler(MainService.this);
@ -59,6 +63,9 @@ public class MainService extends Service {
} }
run(); run();
// 初始化磁贴工具服务
MainTileService mainTileService = new MainTileService(this);
} }
private void run() { private void run() {
@ -99,6 +106,7 @@ public class MainService extends Service {
} }
_mIsServiceAlive = false; _mIsServiceAlive = false;
LogUtils.d(TAG, "onDestroy()"); LogUtils.d(TAG, "onDestroy()");
mContext = null;
} }
@Override @Override
@ -262,4 +270,21 @@ public class MainService extends Service {
super.handleMessage(message); super.handleMessage(message);
} }
} }
static class MainTileService extends TileService {
Context mContext;
MainTileService(Context context) {
mContext = context;
}
@Override
public void onStartListening() {
super.onStartListening();
Tile tile = getQsTile();
tile.setIcon(android.graphics.drawable.Icon.createWithResource(this, R.drawable.ic_android));
// 更新磁贴状态
tile.setState((mContext == null || mContext.getApplicationContext() == null )?Tile.STATE_INACTIVE: Tile.STATE_ACTIVE);
tile.updateTile();
}
}
} }