티스토리 뷰
반응형
// Logo.java
protected void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
boolean isKill = intent.getBooleanExtra("KILL_ACT", false);
if(isKill) close();
}
private void close()
{
finish();
int nSDKVersion = Integer.parseInt(Build.VERSION.SDK);
if(nSDKVersion < 8) //2.1이하
{
ActivityManager actMng = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
actMng.restartPackage(getPackageName());
}
else
{
new Thread(new Runnable() {
public void run() {
ActivityManager actMng = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
String strProcessName = getApplicationInfo().processName;
while(true)
{
List<RunningAppProcessInfo> list = actMng.getRunningAppProcesses();
for(RunningAppProcessInfo rap : list)
{
if(rap.processName.equals(strProcessName))
{
if(rap.importance >= RunningAppProcessInfo.IMPORTANCE_BACKGROUND)
actMng.restartPackage(getPackageName());
Thread.yield();
break;
}
}
}
}
}, "Process Killer").start();
}
}
// Main.java
// 뒤로 버튼 눌러 종료시
DialogInterface.OnClickListener mExitClick = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(which == DialogInterface.BUTTON1) {
close();
}
else
return;
}
};
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_BACK:
new AlertDialog.Builder(MinPos.this)
.setTitle("프로그램을 종료 하시겠습니까?")
// .setIcon(R.drawable.stop)
.setPositiveButton("종 료", mExitClick)
.setNegativeButton("취 소", mExitClick)
.show();
break;
}
return super.onKeyDown(keyCode, event);
}
private void close()
{
finish();
Intent intent = new Intent(MinPos.this, Logo.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("KILL_ACT", true);
startActivity(intent);
}
// manifest
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>
반응형
'Android > 실전 TIP' 카테고리의 다른 글
서비스 프로그램 OS 부팅시 시작 되게 하기 (0) | 2019.03.25 |
---|---|
알람으로 일정 간격 반복 되게 하기 (0) | 2019.03.25 |
로고 애니메이션 효과 주기 (0) | 2019.03.25 |
앱에서 다른 어플 실행 하기 (0) | 2019.03.25 |
문자 전송 기능 (0) | 2019.03.25 |
댓글
반응형
최근에 올라온 글
- Total
- Today
- Yesterday