killBackgroundProcesses/restartpackage无效

我想通过WindowManager自定义的组件中,通过Exit按钮,把对应的Activity关闭掉,发现不能直接用Activity的finish办法(传递Context,然后转化,再调用finish)。只好用这个办法:killBackgroundProcesses,但是发现无效。原来是因为不能直接关闭,而要先StopService()。

还有restartpackage()方法,只是封装了killBackgroundProcesses函数的,一样是要先stopService()才能奏效。

 代码如下:

case R.id.btnFvExit:
<span style="white-space:pre">	</span>Log.e("FlowViewLayout", "Exit"); 
<span style="white-space:pre">	</span>Log.e(TAG, mContext.getPackageName());
<span style="white-space:pre">				</span>
<span style="white-space:pre">	</span>Intent intent = new Intent(mContext, AudioDetectService.class);
<span style="white-space:pre">	</span>mContext.stopService(intent);
<span style="white-space:pre">	</span>ActivityManager am = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
<span style="white-space:pre">	</span>am.killBackgroundProcesses("com.sanshin.btspp");
<span style="white-space:pre">	</span>//am.restartPackage("com.sanshin.btspp");
<span style="white-space:pre">	</span>//((BTSPPActivity)(mContext.getApplicationContext())).finish();
break;
记得增加权限:


<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
<uses-permission android:name="android.Manifest.permission.KILL_BACKGROUND_PROCESSES"/> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值