Test aidl

This commit is contained in:
ZhanGSKen
2025-02-14 06:01:16 +08:00
parent dfd09eb647
commit accca716d4
13 changed files with 123 additions and 121 deletions

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Fri Feb 14 03:00:46 HKT 2025
#Thu Feb 13 21:48:00 GMT 2025
stageCount=2
libraryProject=libappbase
baseVersion=1.5
publishVersion=1.5.1
buildCount=0
buildCount=2
baseBetaVersion=1.5.2

View File

@@ -18,16 +18,26 @@
android:label="GlobalCrashActivity"
android:launchMode="standard"/>
<service android:name=".SimpleOperateSignalCenterService"/>
<service android:name=".SimpleOperateSignalCenterService"
android:exported="true">
</service>
<service android:name="cc.winboll.studio.libappbase.SOSService"
android:exported="true">
<intent-filter>
<action android:name="cc.winboll.studio.libappbase.SOSService" />
</intent-filter>
</service>
<activity android:name=".LogActivity"/>
<receiver android:name=".receiver.MyBroadcastReceiver">
<intent-filter>
<action android:name="cc.winboll.studio.libappbase.action.SOS" />
</intent-filter>
</receiver>
</application>
</manifest>

View File

@@ -18,7 +18,7 @@ import android.view.Gravity;
import com.hjq.toast.ToastUtils;
import com.hjq.toast.style.WhiteToastStyle;
public class GlobalApplication extends Application implements ISOSAPP {
public class GlobalApplication extends Application {
public static final String TAG = "GlobalApplication";
@@ -93,27 +93,27 @@ public class GlobalApplication extends Application implements ISOSAPP {
}
return null;
}
@Override
public void helpISOSService(Intent intent) {
String szServiceName = intent.getStringExtra(EXTRA_SERVICE);
String szPackageName = intent.getStringExtra(EXTRA_PACKAGE);
if (szServiceName != null && !szServiceName.equals("")
&& szPackageName != null && !szPackageName.equals("")) {
LogUtils.d(TAG, "szPackageName " + szPackageName);
LogUtils.d(TAG, "szServiceName " + szServiceName);
// 目标服务的包名和类名
//String packageName = this.getPackageName();
//String serviceClassName = SimpleOperateSignalCenterService.class.getName();
// 构建Intent
Intent intentService = new Intent();
intentService.setComponent(new ComponentName(szPackageName, szServiceName));
intentService.putExtra(ISOSService.EXTRA_ENABLE, true);
startService(intentService);
LogUtils.d(TAG, "startService(intentService)");
}
LogUtils.d(TAG, "helpISOSService");
}
//
// @Override
// public void helpISOSService(Intent intent) {
// String szServiceName = intent.getStringExtra(EXTRA_SERVICE);
// String szPackageName = intent.getStringExtra(EXTRA_PACKAGE);
// if (szServiceName != null && !szServiceName.equals("")
// && szPackageName != null && !szPackageName.equals("")) {
// LogUtils.d(TAG, "szPackageName " + szPackageName);
// LogUtils.d(TAG, "szServiceName " + szServiceName);
//
// // 目标服务的包名和类名
// //String packageName = this.getPackageName();
// //String serviceClassName = SimpleOperateSignalCenterService.class.getName();
//
// // 构建Intent
// Intent intentService = new Intent();
// intentService.setComponent(new ComponentName(szPackageName, szServiceName));
// intentService.putExtra(ISOSService.EXTRA_ENABLE, true);
// startService(intentService);
// LogUtils.d(TAG, "startService(intentService)");
// }
// LogUtils.d(TAG, "helpISOSService");
// }
}

View File

@@ -1,17 +0,0 @@
package cc.winboll.studio.libappbase;
import android.content.Intent;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/02/13 03:49:35
* @Describe 简单 SOS 接口
*/
public interface ISOSAPP {
public static final String TAG = "ISOS";
public static final String EXTRA_PACKAGE = "EXTRA_PACKAGE";
public static final String EXTRA_SERVICE = "EXTRA_SERVICE";
public void helpISOSService(Intent intent);
}

View File

@@ -0,0 +1,5 @@
// ISOSService.aidl
package cc.winboll.studio.libappbase;
interface ISOSService {
String getMessage();
}

View File

@@ -1,17 +0,0 @@
package cc.winboll.studio.libappbase;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/02/13 04:13:51
* @Describe 简单链接 SOS 体系的服务
*/
import android.content.Intent;
public interface ISOSService {
public static final String TAG = "ISOSService";
public static final String EXTRA_ENABLE = "EXTRA_ENABLE";
public Intent getISOSServiceIntentWhichAskForHelp();
public boolean isEnable();
}

View File

@@ -14,17 +14,17 @@ public class SOSCSBroadcastReceiver extends BroadcastReceiver {
public static final String TAG = "SOSCSBroadcastReceiver";
public static final String ACTION_SOS = SOSCSBroadcastReceiver.class.getName() + ".ACTION_SOS";
ISOSAPP mISOSAPP;
//ISOSAPP mISOSAPP;
public SOSCSBroadcastReceiver(ISOSAPP iSOSAPP) {
mISOSAPP = iSOSAPP;
public SOSCSBroadcastReceiver() {
//mISOSAPP = iSOSAPP;
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ACTION_SOS)) {
LogUtils.d(TAG, "ACTION_SOS");
mISOSAPP.helpISOSService(intent);
//mISOSAPP.helpISOSService(intent);
} else {
LogUtils.d(TAG, String.format("%s", action));
}

View File

@@ -0,0 +1,29 @@
package cc.winboll.studio.libappbase;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/02/14 05:39:44
*/
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
public class SOSService extends Service {
public static final String TAG = "SOSService";
private final ISOSService.Stub binder = new ISOSService.Stub() {
@Override
public String getMessage() throws RemoteException {
return "Hello from Service";
}
};
@Override
public IBinder onBind(Intent intent) {
return binder;
}
}

View File

@@ -12,7 +12,7 @@ import android.content.Intent;
import android.os.IBinder;
import cc.winboll.studio.libappbase.bean.SimpleOperateSignalCenterServiceBean;
public class SimpleOperateSignalCenterService extends Service implements ISOSService {
public class SimpleOperateSignalCenterService extends Service {
public static final String TAG = "SimpleOperateSignalCenterService";
public static final String ACTION_ENABLE = SimpleOperateSignalCenterService.class.getName() + ".ACTION_ENABLE";
@@ -43,11 +43,11 @@ public class SimpleOperateSignalCenterService extends Service implements ISOSSer
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
LogUtils.d(TAG, "onStartCommand");
if (intent.getBooleanExtra(ISOSService.EXTRA_ENABLE, false)) {
LogUtils.d(TAG, "onStartCommand enable service");
mSimpleOperateSignalCenterServiceBean.setIsEnable(true);
SimpleOperateSignalCenterServiceBean.saveBean(this, mSimpleOperateSignalCenterServiceBean);
}
// if (intent.getBooleanExtra(ISOSService.EXTRA_ENABLE, false)) {
// LogUtils.d(TAG, "onStartCommand enable service");
// mSimpleOperateSignalCenterServiceBean.setIsEnable(true);
// SimpleOperateSignalCenterServiceBean.saveBean(this, mSimpleOperateSignalCenterServiceBean);
// }
runMainThread();
@@ -63,20 +63,6 @@ public class SimpleOperateSignalCenterService extends Service implements ISOSSer
}
}
@Override
public Intent getISOSServiceIntentWhichAskForHelp() {
Intent intentService = new Intent();
intentService.putExtra(ISOSAPP.EXTRA_PACKAGE, this.getPackageName());
intentService.putExtra(ISOSAPP.EXTRA_SERVICE, this.getClass().getName());
return intentService;
}
@Override
public boolean isEnable() {
mSimpleOperateSignalCenterServiceBean = SimpleOperateSignalCenterServiceBean.loadBean(this, SimpleOperateSignalCenterServiceBean.class);
return mSimpleOperateSignalCenterServiceBean.isEnable();
}
@Override
public void onDestroy() {
super.onDestroy();
@@ -84,8 +70,8 @@ public class SimpleOperateSignalCenterService extends Service implements ISOSSer
mSimpleOperateSignalCenterServiceBean = SimpleOperateSignalCenterServiceBean.loadBean(this, SimpleOperateSignalCenterServiceBean.class);
if (mSimpleOperateSignalCenterServiceBean.isEnable()) {
LogUtils.d(TAG, "mSimpleOperateSignalCenterServiceBean.isEnable()");
ISOSAPP iSOSAPP = (ISOSAPP)getApplication();
iSOSAPP.helpISOSService(getISOSServiceIntentWhichAskForHelp());
// ISOSAPP iSOSAPP = (ISOSAPP)getApplication();
// iSOSAPP.helpISOSService(getISOSServiceIntentWhichAskForHelp());
}
if (_MainThread != null) {
_MainThread.isExist = true;