From accca716d435108a84b89d47f5d2fbe41a74adb7 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Fri, 14 Feb 2025 06:01:16 +0800 Subject: [PATCH] Test aidl --- appbase/build.properties | 4 +- appbase/src/main/AndroidManifest.xml | 13 +++-- .../java/cc/winboll/studio/appbase/App.java | 2 +- .../winboll/studio/appbase/MainActivity.java | 51 +++++++++---------- libappbase/build.properties | 4 +- libappbase/src/main/AndroidManifest.xml | 16 ++++-- .../studio/libappbase/GlobalApplication.java | 48 ++++++++--------- .../cc/winboll/studio/libappbase/ISOSAPP.java | 17 ------- .../studio/libappbase/ISOSService.aidl | 5 ++ .../studio/libappbase/ISOSService.java | 17 ------- .../libappbase/SOSCSBroadcastReceiver.java | 8 +-- .../winboll/studio/libappbase/SOSService.java | 29 +++++++++++ .../SimpleOperateSignalCenterService.java | 30 +++-------- 13 files changed, 123 insertions(+), 121 deletions(-) delete mode 100644 libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSAPP.java create mode 100644 libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.aidl delete mode 100644 libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.java create mode 100644 libappbase/src/main/java/cc/winboll/studio/libappbase/SOSService.java diff --git a/appbase/build.properties b/appbase/build.properties index 5367044..842ba0b 100644 --- a/appbase/build.properties +++ b/appbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Fri Feb 14 03:00:55 HKT 2025 +#Thu Feb 13 21:58:54 GMT 2025 stageCount=2 libraryProject=libappbase baseVersion=1.5 publishVersion=1.5.1 -buildCount=0 +buildCount=2 baseBetaVersion=1.5.2 diff --git a/appbase/src/main/AndroidManifest.xml b/appbase/src/main/AndroidManifest.xml index 91317d5..912a8c4 100644 --- a/appbase/src/main/AndroidManifest.xml +++ b/appbase/src/main/AndroidManifest.xml @@ -18,13 +18,15 @@ + - // 磁贴响应设置 - - + + + + @@ -34,14 +36,19 @@ android:label="@string/tileservice_name" android:icon="@drawable/ic_launcher" android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> + + + + + diff --git a/appbase/src/main/java/cc/winboll/studio/appbase/App.java b/appbase/src/main/java/cc/winboll/studio/appbase/App.java index 03df4df..84d0424 100644 --- a/appbase/src/main/java/cc/winboll/studio/appbase/App.java +++ b/appbase/src/main/java/cc/winboll/studio/appbase/App.java @@ -19,7 +19,7 @@ public class App extends GlobalApplication { public void onCreate() { super.onCreate(); GlobalApplication.setIsDebuging(this, BuildConfig.DEBUG); - mSOSCSBroadcastReceiver = new SOSCSBroadcastReceiver(this); + mSOSCSBroadcastReceiver = new SOSCSBroadcastReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(SOSCSBroadcastReceiver.ACTION_SOS); registerReceiver(mSOSCSBroadcastReceiver, intentFilter); diff --git a/appbase/src/main/java/cc/winboll/studio/appbase/MainActivity.java b/appbase/src/main/java/cc/winboll/studio/appbase/MainActivity.java index eff8291..4ede2b7 100644 --- a/appbase/src/main/java/cc/winboll/studio/appbase/MainActivity.java +++ b/appbase/src/main/java/cc/winboll/studio/appbase/MainActivity.java @@ -9,7 +9,6 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import cc.winboll.studio.appbase.R; import cc.winboll.studio.libappbase.GlobalApplication; -import cc.winboll.studio.libappbase.ISOSAPP; import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogView; import cc.winboll.studio.libappbase.SOS; @@ -81,31 +80,31 @@ public class MainActivity extends AppCompatActivity { SOS.sendToWinBoll(this); } - public void sos() { - // 创建Intent对象,指定广播的action - Intent intent = new Intent(SOSCSBroadcastReceiver.ACTION_SOS); - // 目标服务的包名和类名 - String packageName = this.getPackageName(); - String serviceClassName = SimpleOperateSignalCenterService.class.getName(); - intent.putExtra(ISOSAPP.EXTRA_PACKAGE, packageName); - intent.putExtra(ISOSAPP.EXTRA_SERVICE, serviceClassName); - // 发送广播 - sendBroadcast(intent); - LogUtils.d(TAG, "onSOS"); - } - - public void sos2() { - // 创建Intent对象,指定广播的action - Intent intent = new Intent(SOSCSBroadcastReceiver.ACTION_SOS); - // 目标服务的包名和类名 - String packageName = this.getPackageName(); - String serviceClassName = SimpleOperateSignalCenterService.class.getName(); - intent.putExtra(ISOSAPP.EXTRA_PACKAGE, packageName); - intent.putExtra(ISOSAPP.EXTRA_SERVICE, serviceClassName); - // 发送广播 - sendBroadcast(intent); - LogUtils.d(TAG, "onSOS2"); - } +// public void sos() { +// // 创建Intent对象,指定广播的action +// Intent intent = new Intent(SOSCSBroadcastReceiver.ACTION_SOS); +// // 目标服务的包名和类名 +// String packageName = this.getPackageName(); +// String serviceClassName = SimpleOperateSignalCenterService.class.getName(); +// intent.putExtra(ISOSAPP.EXTRA_PACKAGE, packageName); +// intent.putExtra(ISOSAPP.EXTRA_SERVICE, serviceClassName); +// // 发送广播 +// sendBroadcast(intent); +// LogUtils.d(TAG, "onSOS"); +// } +// +// public void sos2() { +// // 创建Intent对象,指定广播的action +// Intent intent = new Intent(SOSCSBroadcastReceiver.ACTION_SOS); +// // 目标服务的包名和类名 +// String packageName = this.getPackageName(); +// String serviceClassName = SimpleOperateSignalCenterService.class.getName(); +// intent.putExtra(ISOSAPP.EXTRA_PACKAGE, packageName); +// intent.putExtra(ISOSAPP.EXTRA_SERVICE, serviceClassName); +// // 发送广播 +// sendBroadcast(intent); +// LogUtils.d(TAG, "onSOS2"); +// } } diff --git a/libappbase/build.properties b/libappbase/build.properties index 931854e..7db6504 100644 --- a/libappbase/build.properties +++ b/libappbase/build.properties @@ -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 diff --git a/libappbase/src/main/AndroidManifest.xml b/libappbase/src/main/AndroidManifest.xml index 6fc68a0..b083ad8 100644 --- a/libappbase/src/main/AndroidManifest.xml +++ b/libappbase/src/main/AndroidManifest.xml @@ -18,16 +18,26 @@ android:label="GlobalCrashActivity" android:launchMode="standard"/> - + + + + + + + + + - + - + diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java index 241a43c..76a2f84 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java @@ -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"); +// } } diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSAPP.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSAPP.java deleted file mode 100644 index d5d6163..0000000 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSAPP.java +++ /dev/null @@ -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); - -} diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.aidl b/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.aidl new file mode 100644 index 0000000..e2969c2 --- /dev/null +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.aidl @@ -0,0 +1,5 @@ +// ISOSService.aidl +package cc.winboll.studio.libappbase; +interface ISOSService { + String getMessage(); +} diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.java deleted file mode 100644 index bc6e53c..0000000 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/ISOSService.java +++ /dev/null @@ -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(); -} diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/SOSCSBroadcastReceiver.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/SOSCSBroadcastReceiver.java index 89c6ec3..d471aaa 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/SOSCSBroadcastReceiver.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/SOSCSBroadcastReceiver.java @@ -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)); } diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/SOSService.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/SOSService.java new file mode 100644 index 0000000..2b08fdc --- /dev/null +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/SOSService.java @@ -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; + } + +} diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/SimpleOperateSignalCenterService.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/SimpleOperateSignalCenterService.java index fcc2488..fb9edd7 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/SimpleOperateSignalCenterService.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/SimpleOperateSignalCenterService.java @@ -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;