목록Android (947)
투케이2K
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ciYHB4/btrp7SvYBDS/mfkKNaiACDeFqteazmSWnk/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] package com.test.app; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.util.Log; public class S_ProgramTaskService extends Service { /** * TODO [클래스 설명] * // ----------------------------------------- * 1. 사용자가 앱 작업 목록 날림 , 지우기 이벤트 감지 서비스 * 2. 중요 사항 : AndroidManifest.xml 에서 서비스 적용 시 androi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qGlUP/btrpRYpvVWv/TofmVmotuAMPULZzaUzKv0/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스코드 : 외부앱 이동] // TODO [외부 앱이 설치되어 있으면 메인 실행, 아니면 마켓이동 실시 메소드] public static void goAppRunNew(Context mContext, final String packageNames){ // [사전 패키지명이 널인지 체크 실시] if (packageNames != null && packageNames.length()>0 && !packageNames.equals("") && !packageNames.contains("null")){ } else { // [패키지 명이 널인 경우] Log.i("---","---"); Log.e("//===========/..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZDOI2/btrpJRj91l7/hpUN6EA21IjqOuxSAExQA1/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [사전 설정 수행] 1. 안드로이드 apk 파일 생성 실시 2. 생성된 apk 파일을 실제 디바이스 기기에 설치 실행 [방법 설명] 1. 안드로이드 스튜디오 (android studio) 실행 실시 2. apk 파일이 설치된 디바이스 기기를 디버깅 선을 통해서 연결 실시 3. 연결된 실제 디바이스 기기 선택 및 로그캣 (logcat) 선택 실시 4. 실제 디바이스 기기에서 앱 실행 및 로그캣 (logcat) 확인 실시
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPeqsq/btrpjvwn6Wl/0MU6gXT2OVq7K65kgjNr5k/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [새로운 URL이 webview에 로드되려 할 경우 컨트롤을 대신할 기회를 줌] @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Nice >> shouldOverrideUrlLoading() :: [웹 클라이언트]]"); Log.i("","\n"+"[기본 주소 :: "+String.valueOf(url)+"..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bo1RMl/btroZEHanrY/gtpPQNyTukdWPVI7PttYk1/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [방법 설명] [소스코드 : buildTypes] buildTypes { release { minifyEnabled true // [true 프로가드 사용 / false 프로가드 사용안함] proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // [프로가드 설정 파일 지정] } debug { minifyEnabled false // [true 프로가드 사용 / false 프로가드 사용안함] proguardFiles getDefaultProguardFile('proguard-android-optimize...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c3HQax/btroPGw635o/k42DpVIHyx9y1ynzx3BIbk/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [이전 :: build.gradle (Project) >> allprojects 적용 사항] // 최신 Android Studio에서는 allprojects 사용 불가능 allprojects { repositories { google() jcenter() maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/'} } } [최신 :: settings.gradle >> allprojects 적용 사항] dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJEC..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/N7TTq/btroJixuGK4/rUoykUTzUp4GpNcUR8KCf0/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [크롬 클라이언트 설정 실시] main_webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onCreateWindow() :: 웹 브라우저..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/crzij2/btroCw3kifU/PsEOunFUCoOkePqiUqQma1/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] public void goAppRun(final String packageNames){ //TODO [안드로이드 OS 11 및 타겟 30 이상 필수 사항] /** * [AndroidManifest.xml 파일 > manifest 부분 > 특정 앱 패키지명 등록 필요] * * * * * */ // TODO [인풋으로 들어온 데이터가 널인지 판단 실시] if (packageNames != null && packageNames.length()>0 && !packageNames.equals("") && !packageNames.contains("null"))){ Toast.makeText(getApplication..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SH0pm/btroDvCRoqR/i5KMPNjaMrwDSxTKeJc13k/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] buildscript { repositories { mavenCentral() jcenter() google() maven { url "https://maven.google.com" } } dependencies { classpath 'com.android.tools.build:gradle:3.6.2' // [파이어베이스 크래시 리틱스 오류 보고] classpath 'com.google.gms:google-services:4.0.1' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.1' } } repositories { maven { url "..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Sc5xm/btrormmU5gi/kNikghC6WdfoP2asG1T0UK/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] main_webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onShowFileChoos..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bMK2Bh/btrokp3hpV5/U0yJV8ApEIHGRi3FQyDjXk/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [에러 화면 : 개인 정보 처리 및 민감 데이터 표시 시 업데이트 거부 발생] [해결 방법 : 앱 로그인에 필요한 사용자 정보 작성 실시]
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VMtyA/btrocBRq9zs/63kk6tFABYsDF0PdniWwOK/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [AndroidManifest.xml 설정] // [java 파일 설정 : onCreate() 부분] @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ----------------------------------------- // [다이얼로그 팝업창 검정색 배경 없애기] getWindow().setBackgroundDrawable(new PaintDrawable(Color.TRANSPARENT)); // -----------------------------------..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dFEZYF/btrnTDHtYoS/bWJfAKCk1IqUuX0A5Nwrsk/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [방법 설명]
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbmaMb/btrnR367kkU/iIjpGv3lPD5mZEXkuuv9jK/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // TODO [checkFilePermission 앱 파일 접근 허용 설정 창 이동] public static void checkFilePermission(Context mContext){ // [구글 디벨로퍼 참고 사이트] // url : https://developer.android.com/training/data-storage/manage-all-files?hl=ko // [필요 퍼미션] // // [안드로이드 os 11 버전 이상 체크 수행 실시] if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) && !isFileGranted(mContext)){ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lze7y/btrnLHKwwWg/OKkak3S5cMVoKs4VqXoRwk/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [AndroidManifest.xml 파일] // TODO [QueryAllPackagesPermission 앱 설정 창 이동] public static void checkQueryAllPackages(Context mContext){ if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) && !isAccessGranted(mContext)){ Log.i("---","---"); Log.e("//===========//","================================================"); Log.i("","\n"+"[C_Permissi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8SyRE/btrnrlbjvvQ/okYUkcXIFh9Ib6N7JRis90/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // TODO [크롬 클라이언트 설정 실시] main_webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, FileChooserParams fileChooserParams) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onShow..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bs6gTU/btrnoC40fBo/r36lNEWzLJChYDE44mjFak/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드 : A_AlertView] import android.app.Dialog; import android.app.NotificationManager; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Icon; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.util.Log; import ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfuA2n/btrne0Lfyfs/HF8zNKgwT23BuqBjlX5Bnk/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드 : 이미지 다중 선택] main_webview.setWebChromeClient(new WebChromeClient() { // TODO [현재 웹뷰 로딩 상태 확인] @Override public void onProgressChanged(WebView view, int progress) { Log.i("---","---"); Log.d("//===========//","================================================"); Log.i("","\n"+"[A_Main >> init_webView() :: 웹뷰 초기값 설정 및 로드 수행]"); Log.i("","\n"+"..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YhI6c/btrndGzl2eK/wbYqVlDBOQk17JKtRf2Hn1/img.png)
[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // TODO [파이어베이스 리모트 앱 최신 버전 체크] public void checkUpdateMobileVersion() { Log.i("---","---"); Log.d("//===========//","================================================"); Log.i("","\n"+"[A_Intro >> checkUpdateMobileVersion() :: 파이어베이스 리모트 앱 최신 버전 체크 수행]"); Log.d("//===========//","================================================"); Log.i("-..