// AndroidManifest.xml添加权限
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
var cont:Context? = null
...
fun stopDisPlay():Int {
cont = this@MyService
if(isAppForeground(cont!!)) {
stopForegronud(true)
var pkgName:String = packageName
var activityManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager
activityManager.killBackgroundProcess(pkgName)
android.os.Process.killProcess(android.os.Process.myPid())
return 1
}
return 0
}
更新个更简单的方法
Service:
//Service.java
Intent intent = new Intent("finish_activity");
mContext.sendBroadcast(intent);
//activity.java
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 在这里进行处理广播接收到后需要执行的操作
if(intent.getAction().equals("finish_activity")) {
// 处理 finish_activity 广播
}
}
};
...
IntentFilter filter = new IntentFilter();
filter.addAction("finish_activity");
registerReceiver(mBroadcastReceiver, filter);