This commit is contained in:
ZhanGSKen
2025-03-07 11:15:22 +08:00
parent bca31f9079
commit bc252041d3
13 changed files with 132 additions and 140 deletions

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Thu Feb 27 02:21:32 GMT 2025
#Fri Mar 07 03:14:48 GMT 2025
stageCount=3
libraryProject=libappbase
baseVersion=2.0
publishVersion=2.0.2
buildCount=4
buildCount=5
baseBetaVersion=2.0.3

View File

@@ -13,6 +13,7 @@ import android.os.IBinder;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.bean.TestServiceBean;
import cc.winboll.studio.libappbase.sos.WinBoll;
import cc.winboll.studio.libappbase.sos.APPModel;
public class TestService extends Service {
@@ -129,7 +130,7 @@ public class TestService extends Service {
isStarted = true;
super.run();
LogUtils.d(TAG, "run() start");
WinBoll.bindToAPPBase(mContext, new APPNewsBean(mContext.getPackageName(), TestService.class.getName()));
WinBoll.bindToAPPBase(mContext, TestService.class.getName());
while (!isExit()) {
LogUtils.d(TAG, "run()");

View File

@@ -34,13 +34,13 @@ public class SOS {
static void sos(Context context, String szToPackage, String sosService) {
LogUtils.d(TAG, "sos(...)");
Intent intent = new Intent(ACTION_SOS);
intent.putExtra(EXTRA_OBJECT, genSOSObjectString(context.getPackageName(), sosService));
intent.putExtra(EXTRA_OBJECT, genSOSObject(context.getPackageName(), sosService));
intent.setPackage(szToPackage);
LogUtils.d(TAG, String.format("ACTION_SOS :\nTo Package : %sSOS Service : %s\n", szToPackage, sosService));
context.sendBroadcast(intent);
}
static SOSObject stringToSOSObject(String szSOSObject) {
public static SOSObject parseSOSObject(String szSOSObject) {
try {
return SOSObject.parseStringToBean(szSOSObject, SOSObject.class);
} catch (IOException e) {
@@ -49,11 +49,11 @@ public class SOS {
return null;
}
static String sosObjectToString(SOSObject object) {
public static String sosObjectToString(SOSObject object) {
return object.toString();
}
static String genSOSObjectString(String objectPackageName, String objectServiveName) {
public static String genSOSObject(String objectPackageName, String objectServiveName) {
return (new SOSObject(objectPackageName, objectServiveName)).toString();
}
}

View File

@@ -1,9 +1,5 @@
package cc.winboll.studio.libappbase.sos;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/02/27 14:00:21
@@ -17,8 +13,11 @@ import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.RemoteException;
import cc.winboll.studio.libappbase.bean.SimpleOperateSignalCenterServiceBean;
import java.io.FileDescriptor;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import cc.winboll.studio.libappbase.LogUtils;
public class SOSCenterService extends Service {
@@ -26,7 +25,7 @@ public class SOSCenterService extends Service {
private final IBinder binder =(IBinder)new SOSBinder();
SimpleOperateSignalCenterServiceBean mSimpleOperateSignalCenterServiceBean;
SOSCenterServiceModel mSOSCenterServiceModel;
static MainThread _MainThread;
public static synchronized MainThread getMainThreadInstance() {
if (_MainThread == null) {
@@ -85,8 +84,8 @@ public class SOSCenterService extends Service {
}
public static final String TAG = "SOSBinder";
SimpleOperateSignalCenterService getService() {
return SimpleOperateSignalCenterService.this;
SOSCenterService getService() {
return SOSCenterService.this;
}
}
@@ -94,10 +93,10 @@ public class SOSCenterService extends Service {
public void onCreate() {
super.onCreate();
LogUtils.d(TAG, "onCreate");
mSimpleOperateSignalCenterServiceBean = SimpleOperateSignalCenterServiceBean.loadBean(this, SimpleOperateSignalCenterServiceBean.class);
if(mSimpleOperateSignalCenterServiceBean == null) {
mSimpleOperateSignalCenterServiceBean = new SimpleOperateSignalCenterServiceBean();
SimpleOperateSignalCenterServiceBean.saveBean(this, mSimpleOperateSignalCenterServiceBean);
mSOSCenterServiceModel = SOSCenterServiceModel.loadBean(this, SOSCenterServiceModel.class);
if(mSOSCenterServiceModel == null) {
mSOSCenterServiceModel = new SOSCenterServiceModel();
SOSCenterServiceModel.saveBean(this, mSOSCenterServiceModel);
}
runMainThread();
}
@@ -108,12 +107,12 @@ public class SOSCenterService extends Service {
runMainThread();
return mSimpleOperateSignalCenterServiceBean.isEnable() ? Service.START_STICKY: super.onStartCommand(intent, flags, startId);
return mSOSCenterServiceModel.isEnable() ? Service.START_STICKY: super.onStartCommand(intent, flags, startId);
}
void runMainThread() {
mSimpleOperateSignalCenterServiceBean = SimpleOperateSignalCenterServiceBean.loadBean(this, SimpleOperateSignalCenterServiceBean.class);
if (mSimpleOperateSignalCenterServiceBean.isEnable()
mSOSCenterServiceModel = mSOSCenterServiceModel.loadBean(this, SOSCenterServiceModel.class);
if (mSOSCenterServiceModel.isEnable()
&& _MainThread == null) {
getMainThreadInstance().start();
}
@@ -123,9 +122,9 @@ public class SOSCenterService extends Service {
public void onDestroy() {
super.onDestroy();
LogUtils.d(TAG, "onDestroy");
mSimpleOperateSignalCenterServiceBean = SimpleOperateSignalCenterServiceBean.loadBean(this, SimpleOperateSignalCenterServiceBean.class);
if (mSimpleOperateSignalCenterServiceBean.isEnable()) {
LogUtils.d(TAG, "mSimpleOperateSignalCenterServiceBean.isEnable()");
mSOSCenterServiceModel = SOSCenterServiceModel.loadBean(this, SOSCenterServiceModel.class);
if (mSOSCenterServiceModel.isEnable()) {
LogUtils.d(TAG, "mSOSCenterServiceModel.isEnable()");
// ISOSAPP iSOSAPP = (ISOSAPP)getApplication();
// iSOSAPP.helpISOSService(getISOSServiceIntentWhichAskForHelp());
}
@@ -137,22 +136,22 @@ public class SOSCenterService extends Service {
public static void stopISOSService(Context context) {
LogUtils.d(TAG, "stopISOSService");
SimpleOperateSignalCenterServiceBean bean = new SimpleOperateSignalCenterServiceBean();
SOSCenterServiceModel bean = new SOSCenterServiceModel();
bean.setIsEnable(false);
SimpleOperateSignalCenterServiceBean.saveBean(context, bean);
context.stopService(new Intent(context, SimpleOperateSignalCenterService.class));
SOSCenterServiceModel.saveBean(context, bean);
context.stopService(new Intent(context, SOSCenterServiceModel.class));
}
public static void startISOSService(Context context) {
LogUtils.d(TAG, "startISOSService");
SimpleOperateSignalCenterServiceBean bean = new SimpleOperateSignalCenterServiceBean();
SOSCenterServiceModel bean = new SOSCenterServiceModel();
bean.setIsEnable(true);
SimpleOperateSignalCenterServiceBean.saveBean(context, bean);
context.startService(new Intent(context, SimpleOperateSignalCenterService.class));
SOSCenterServiceModel.saveBean(context, bean);
context.startService(new Intent(context, SOSCenterServiceModel.class));
}
public String getMessage() {
return "Hello from SimpleOperateSignalCenterService";
return "Hello from SOSCenterServiceModel";
}
static class MainThread extends Thread {

View File

@@ -1,24 +1,25 @@
package cc.winboll.studio.libappbase.sos;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/02/27 14:04:35
* @Describe SOSCenterServiceReceiver
*/
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import cc.winboll.studio.libappbase.LogUtils;
public class SOSCenterServiceReceiver extends BroadcastReceiver {
public static final String TAG = "SOSCenterServiceReceiver";
public static final String ACTION_SOS = SOSCenterServiceReceiver.class.getName() + ".ACTION_SOS";
public static final String
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ACTION_SOS)) {
// 处理接收到的广播消息
LogUtils.d(TAG, String.format("Action %s \n%s\n%s", action));
} else {