ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
이것을 이용하여 백그라운드에서 돌아가고 있는 앱들을 전부 종료시키려합니다.
근데 작동이 안되요 ㅜㅜㅜㅜ 현제 android 2.2버전을 이용하고있는데 전혀 작동을 안하더군요
왜그럴까요...?
밑에는 현재 제가 이제까지 적은 소스입니다. btn2에 이 기능을 넣으려 합니다.
package com.example.smartproject3;
import android.os.Bundle;
import android.app.Activity;
import android.app.ActivityManager;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
private ActivityManager am;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = (Button)findViewById(R.id.btn1);
Button btn2 = (Button)findViewById(R.id.btn2);
Button btn3 = (Button)findViewById(R.id.btn3);
btn1.setOnClickListener(listener);
btn2.setOnClickListener(listener);
btn2.setOnClickListener(listener);
am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
}
Button.OnClickListener listener = new Button.OnClickListener(){
public void onClick(View v) {
String btnName = null;
switch(v.getId()){
case R.id.btn1 :
moveTaskToBack(true);
android.os.Process.killProcess(android.os.Process.myPid());
break;
case R.id.btn2:
am.killBackgroundProcesses(getPackageName());
break;
case R.id.btn3 :
break;
}
Toast.makeText(MainActivity.this, btnName, 0).show();
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
여기서 뭐가 잘못된걸까요.?




설명에서는 restartPackage()를 사용한다고 해놓으시고
소스상에서는 killBackgroundProcesses()를 사용하셨네요?
restartPackage()는 2.2 버전부터는 지원되지 않는다고 하네요...아래 블로그 참고하세요~
http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110089551997&parentCategoryNo=18&viewDate=¤tPage=1&listtype=0