Test aidl
This commit is contained in:
@@ -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>
|
||||
|
@@ -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");
|
||||
// }
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
// ISOSService.aidl
|
||||
package cc.winboll.studio.libappbase;
|
||||
interface ISOSService {
|
||||
String getMessage();
|
||||
}
|
@@ -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();
|
||||
}
|
@@ -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));
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
}
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user