안드로이드 - '출처를 알 수 없는 앱' 체크 방법
개발/안드로이드 2017. 11. 22. 08:00반응형
안드로이드에서 "출처를 알 수 없는 앱"를 처리하는 코드에 대해 알아 보겠습니다.
'출처를 알 수 없는 앱'는 아래 코드로 알아 올 수 있습니다. nResult 가 1이면 '출처를 알 수 없는 앱'이 활성화 되어 있는 상태 입니다.
1 | int nResult = android.provider.Settings.System.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS); | cs |
'출처를 알 수 없는 앱'은 위 코드 한 줄이면 끝난거죠. 그래도 전체 구현 소스를 살펴보도록 할께요.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | public void checkInstallNonMarketApps() { try { int nResult = android.provider.Settings.System.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS); if (nResult == 1) { AlertDialog.Builder b = new AlertDialog.Builder(this, android.R.style.Theme_DeviceDefault_Light_Dialog); b.setTitle("알림"); b.setMessage("스미싱 예방을 위해 환경설정의 '알 수 없는 출처(소스)'를 해제하시기 바랍니다.\n설정화면으로 이동하시겠습니까?"); b.setCancelable(false); b.setPositiveButton("예", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (Build.VERSION.SDK_INT >= 14) { Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS); startActivity(intent); } else { Intent intent = new Intent(Settings.ACTION_APPLICATION_SETTINGS); startActivity(intent); } } }); b.setNegativeButton("아니오", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); b.show(); } } catch (SettingNotFoundException e) { Log.w("error", "checkInstallNonMarketApps"); } } | cs |
여기서 눈여겨 볼 부분은 17~26번째 줄인데요. 설정화면으로 이동하는 코드입니다. Android 4.0 기준으로 이동하는 액션명이 변경되어 별도로 구분하여 이동해야 합니다.
안드로이드 8.0인 오레오 (Oreo) 에서 위 코드를 실행하면 무조건 '출처를 알 수 없는 소스'라고 나올껍니다.
어떻게 바뀌었는지 살펴보고 바뀐부분에 대해서 다음 포스팅에서 다뤄보도록 할께요.
반응형
'개발 > 안드로이드' 카테고리의 다른 글
안드로이드 aar 라이브러리 추가하기 (0) | 2018.01.28 |
---|---|
안드로이드 화면꺼짐 방지하기! (2) | 2018.01.22 |
안드로이드 Listview 가로줄 색 변경 하거나 없애는 방법 (0) | 2017.12.12 |
안드로이드 8.0(oreo)에서 '출처를 알 수 없는 앱' 체크 방법 (3) | 2017.11.24 |
안드로이드 11월 플랫폼 버전별(API 레벨) 점유율 (0) | 2017.11.16 |
Java에서 StringBuilder로 문자열 처리 속도개선! (0) | 2017.11.14 |
안드로이드 MultiDex 적용하기 (0) | 2017.11.09 |
안드로이드 - 앱실행 시 로딩화면 적용방법 (검정색 배경 없애기) (0) | 2017.11.08 |