Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Android
- php 취약점
- 우분투
- dovecot
- 자바스크립트
- curl
- xe
- PHP
- 안드로이드
- mysql
- 안드로이드 gcm
- android 효과음
- 안드로이드 푸시
- soundpool
- roundcube
- 설치
- 자동 생성
- C# IO
- Mail Server
- not working
- php 시큐어코딩
- WebView
- C#
- 안드로이드 푸쉬
- html5
- 폼메일
- javascript
- chart.js
- UML
- FCM
Archives
- Today
- Total
그러냐
다른 태스크에서 실행 중인 앱을 화면(foreground)으로 불러오기(How to bring another app running in other task to foreground ) 본문
android
다른 태스크에서 실행 중인 앱을 화면(foreground)으로 불러오기(How to bring another app running in other task to foreground )
관절분리 2016. 1. 28. 11:01반응형
다른 태스크에서 실행 중인 앱을 화면(foreground)으로 불러오기(How to bring another app running in other task to foreground ) 11 버전 이상에서만 된다넹
아래 두 가지 퍼미션이 필요함.
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.REORDER_TASKS" />
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { // 11 for ( int i = 0 ; i < recentTasks.size(); i++) { APLog.d(TAG, CLASS, "Application executed : " +recentTasks.get(i).baseActivity.getPackageName() + "\t ID: " +recentTasks.get(i).id+ "" ); // bring to front if (recentTasks.get(i).baseActivity.getPackageName().equals(savedList.get(selectedIndex).packageName)) { activityManager.moveTaskToFront(recentTasks.get(i).id, ActivityManager.MOVE_TASK_WITH_HOME); } } } else { } |
위에 처럼 하면 생기는 문제점이 하나 있다. 한번 실행하고 종료시켰는데도 recentTaskInfo 가 살아있어서 실행시키는 앱이 사라진다. 그래서 이렇게 하는 게 사실 더 좋다.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { // 11 final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); final List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(Integer.MAX_VALUE, ActivityManager.RECENT_IGNORE_UNAVAILABLE); RecentTaskInfo recentTaskInfo = null ; for ( int i = 0 ; i < recentTasks.size(); i++) { if (recentTasks.get(i).baseIntent.getComponent().getPackageName().equals(packageName)) { recentTaskInfo = recentTasks.get(i); break ; } } if (recentTaskInfo != null && recentTaskInfo.id > - 1 ) { activityManager.moveTaskToFront(recentTaskInfo.persistentId, ActivityManager.MOVE_TASK_WITH_HOME); return ; } } |
반응형
'android' 카테고리의 다른 글
버튼 누를 시 버튼 이미지 바꾸기 (0) | 2016.01.28 |
---|---|
Android Internal Storage 사용하기 (0) | 2016.01.28 |
안드로이드 버전 별 코드 이름 (0) | 2016.01.28 |
Android KitKat에서의 변화 (0) | 2016.01.28 |
Broadcast Receiver에 대해서 (펌) (0) | 2016.01.28 |