WindowChangeDetect extends AccessibilityService

메니페스트 파일(xml)에 서비스 클래스명 등록 필수

https://jungwoon.github.io/android/2016/10/03/Accessibility-Service/

 

Accessibility Service 사용방법 - Jungwoon Blog

안드로이드 접근성 서비스를 이용하는 방법 설정해야하는 순서 android.accessibilityservice.AccessibilityService에서 상속받는 클래스 만들기 AndroidManifest.xml에 접근성 서비스 등록하기 res/xml/accessibility_service_config.xml 만들기 res/values/strings.xml 에 accessibility_description 추가하기 MainActivity 해당 앱의 패키지

jungwoon.github.io

https://github.com/Jungwoon/AccessibilityService

 

Jungwoon/AccessibilityService

Contribute to Jungwoon/AccessibilityService development by creating an account on GitHub.

github.com

https://pluu.github.io/blog/android/droidkaigi/2017/10/20/droidkaigi-2017-AccessibilityService/

 

Pluu Dev - [번역] DroidKaigi 2017 ~ AccessibilityService 를 사용해 앱의 가능성을 넓히자

Android Studio Tips #2 Posted on 24 Jul 2019 Android Studio Tips #1 Posted on 13 Jul 2019 [요약] Android Studio/ Tips and Tricks Part 3 ~ Build&Deploy (Google I/O '19) Posted on 07 Jul 2019 [요약] Android Studio/ Tips and Tricks Part 2 ~ Navigation Editor, Res

pluu.github.io

https://jinhobak.tistory.com/428

 

AccessibilityService 예제

설정에서 접근성을 체크하면 터치, 키보드 입력 등의 다양한 이벤트를 수신할 수 있다. - 노티 영역에 수집되는 정보를 추출 가능 (카톡 등과 같은 메신저 미리보기 서비스 이용하여 메시지 캐치가 가능) - 검색어..

jinhobak.tistory.com

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

Samsung Flow : 태블릿/PC와 갤럭시 휴대폰의 연동

https://youtu.be/srj0JNbpvqw

https://www.microsoft.com/ko-kr/p/samsung-flow/9nblggh5gb0m?activetab=pivot:overviewtab

 

Samsung Flow 구매 - Microsoft Store ko-KR

Microsoft Store에서 이 Windows 10용 앱을 다운로드하세요. 스크린샷을 보고, 최신 고객 리뷰를 읽고, Samsung Flow에 대한 평점을 비교하세요.

www.microsoft.com

Samsung Flow는 태블릿/PC와 갤럭시 휴대폰의 연동을 통해 편리한 기능을 제공합니다.

1. 태블릿/PC 간편 로그인 Samsung Flow에 등록이 완료된 Galaxy 휴대폰 또는 Samsung Wearable 인증을 통해 간편하고 안전하게 Windows 태블릿/PC에 로그인 할 수 있습니다. 태블릿/PC에 등록된 생체정보를 활용한 인증도 가능합니다. (*태블릿/PC에 등록된 생체정보를 활용한 인증은 삼성 디바이스에서만 가능합니다.)

2. 휴대폰 자동 핫스팟 연결
3. 휴대폰 알림 연동 휴대폰으로 오는 메시지나 알림을 태블릿/PC에서 확인하고 바로 답할 수 있습니다. (* 일부 앱은 해당 기능이 미지원 될 수 있습니다.) 4. 편리한 컨텐츠 전달 Samsung Flow로 연결된 태블릿/PC와 휴대폰 간의 컨텐츠를 간편하게 전달 할수 있습니다. 5. 휴대폰 화면 공유 휴대폰에서 보던 화면을 Windows 태블릿/PC에서 볼 수 있습니다. Samsung Flow: 소개영상 https://www.youtube.com/watch?v=srj0JNbpvqw Samsung Flow 상세 지원 기준에 맞는 제품이 필요합니다. 1. Windows 태블릿/PC : Windows 10 OS 크리에이터 업데이트 이상 (V1703), patch build (15063.413) Galaxy TabPro S, Galaxy Book, Galaxy Book2 등) 2. Android Marshmallow OS 이상 Galaxy Tab S4, Tab S3, Tab S2, Tab A (2018, 10.5), Tab A2, Tab Active 2, Tab A 10.1, Tab A (2017) 3. Android Marshmallow OS (6.0) 이상 Samsung Galaxy 스마트폰 * 스마트폰 사양에 따라서 일부 모델은 지원이 되지 않을 수 있습니다. 4. Tizen 3.0 이상 Galaxy Watch, Samsung Galaxy Watch Active, Samsung Gear S3, Samsung Gear Sports * Samsung Flow는 삼성전자에서 배포한 정식 Software에서 정상동작합니다. * 필수지원기능 : 블루투스 (Bluetooth LE optional) 또는 Wi-Fi/LAN 연결, Wi-Fi direct (Windows OS) Windows 10 사용자는 Windows store의 Samsung Flow를 다운로드 하세요. 설치방법은 Samsung Flow의 웹페이지를 참조하세요. www.samsung.com/samsungflow 만약 태블릿/PC에 탑재 된 Samsung Flow 앱을 최신 버전으로 업데이트 하지 않았다면, 윈도우 스토어>메뉴>다운로드와 업데이트 메뉴로 가서 해당 앱을 업데이트 하세요.

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

Wi-Fi Transfer : PC와 무선기기간의 파일을 전송하는 앱

https://www.microsoft.com/store/productId/9NBLGGH1ZG1G

 

Get Wi-Fi Transfer - Microsoft Store

Download this app from Microsoft Store for Windows 10. See screenshots, read the latest customer reviews, and compare ratings for Wi-Fi Transfer.

www.microsoft.com

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

Hide the navigation bar - Android

https://developer.android.com/training/system-ui/navigation#behind

 

Hide the navigation bar  |  Android Developers

This lesson describes how to hide the navigation bar, which was introduced in Android 4.0 (API level 14). Even though this lesson focuses on hiding the navigation bar, you should design your app to hide the status bar at the same time, as described in Hidi

developer.android.com

This lesson describes how to hide the navigation bar, which was introduced in Android 4.0 (API level 14).

Even though this lesson focuses on hiding the navigation bar, you should design your app to hide the status bar at the same time, as described in Hiding the Status Bar. Hiding the navigation and status bars (while still keeping them readily accessible) lets the content use the entire display space, thereby providing a more immersive user experience.

You can hide the navigation bar using the SYSTEM_UI_FLAG_HIDE_NAVIGATION flag. This snippet hides both the navigation bar and the status bar:

View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
              | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
Posted by 홍반장水 홍반장水

댓글을 달아 주세요

https://apkpure.com/kr/ - 다운받을수 없는 안드로이드 앱 찾기&다운로드

 

https://apkpure.com/kr/

 

APK 무료 온라인 다운로더를 다운로드하십시오 | APKPure.com

 

apkpure.com

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

안드로이드 : 웹뷰 404 에러처리

WebView.setWebViewClient(new WebViewClient() {
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}

@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);

switch (errorCode) {
case ERROR_AUTHENTICATION: // 서버에서 사용자 인증 실패
case ERROR_BAD_URL: // 잘못된 URL
case ERROR_CONNECT: // 서버로 연결 실패
case ERROR_FAILED_SSL_HANDSHAKE: // SSL handshake 수행 실패
case ERROR_FILE: // 일반 파일 오류
case ERROR_FILE_NOT_FOUND: // 파일을 찾을 수 없습니다
case ERROR_HOST_LOOKUP: // 서버 또는 프록시 호스트 이름 조회 실패
case ERROR_IO: // 서버에서 읽거나 서버로 쓰기 실패
case ERROR_PROXY_AUTHENTICATION: // 프록시에서 사용자 인증 실패
case ERROR_REDIRECT_LOOP: // 너무 많은 리디렉션
case ERROR_TIMEOUT: // 연결 시간 초과
case ERROR_TOO_MANY_REQUESTS: // 페이지 로드중 너무 많은 요청 발생
case ERROR_UNKNOWN: // 일반 오류
case ERROR_UNSUPPORTED_AUTH_SCHEME: // 지원되지 않는 인증 체계
case ERROR_UNSUPPORTED_SCHEME:
WebView.loadUrl("about:blank"); // 빈페이지 출력
AlertDialog.Builder builder = new AlertDialog.Builder(MyView.this);
builder.setPositiveButton("확인", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

// 확인버튼 클릭시 이벤트

}});
builder.setMessage("네트워크 상태가 원활하지 않습니다. 어플을 종료합니다.");
// builder.setMessage("네트워크 상태가 원활하지 않습니다. 페이지를 이동합니다.");
builder.setCancelable(false); // 뒤로가기 버튼 차단
builder.show(); // 다이얼로그실행
break;
}}});
Posted by 홍반장水 홍반장水

댓글을 달아 주세요

하이브리드앱, 웹뷰(WebView) 설정하기 - 안드로이드

안드로이드 스튜디오 설치하고.  https://developer.android.com/studio/

AndroidManifest.xml

// 인터넷 사용할꺼야 라고 선언
<uses-permission android:name="android.permission.INTERNET" />

layout.xml 

//웹뷰 등록 html로 비교하면 iframe 과 비슷하겠네요.
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>

Java

private WebView mWebView; //웹뷰
private WebSettings mWebSettings; //웹뷰세팅

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

     // 웹뷰 세팅
     mWebView = (WebView)findViewById(R.id.webview); //레이어와 연결
     mWebView .setWebViewClient(new WebViewClient()); // 클릭시 새창 안뜨게
     mWebSettings = mWebView.getSettings(); //세부 세팅 등록
     mWebSettings.setJavaScriptEnabled(true); // 자바스크립트 사용 허용

     mWebView.loadUrl("http://m.nate.com"); //원하는 URL  입력
}

 


웹뷰 기본 옵션
mWebView.goBack(); //뒤로가기
mWebView.goForward(); //앞으로가기
mWebView.reload(); //새로고침

mWebView.clearCache(true); // 캐시 지우기
mWebView.reload(); // 현재 웹뷰 새로고침
mWebView.stopLoading(); // 로딩 중단

//스크롤 없애기
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);


웹뷰 세부 옵션

wvs = mWebView.getSettings();

wvs .setWebViewClient(new WebViewClient()); // 클릭시 새창 안뜨게
wvs .setJavaScriptEnabled(true); //자바스크립트 사용

wvs .setWebChromeClient(new webViewChrome()); // alert 경고창 사용

//화면 비율 관련 - 안드로이드 TV셋탑에서 웹뷰 사용할때 웹페이지 viewport가 적용안되서.
wvs .setUseWideViewPort(true); //wide viewport를 사용하도록 설정
wvs.setLoadWithOverviewMode(true); // 컨텐츠가 웹뷰보다 클 경우 스크린 크기에 맞게 조정
wvs.setInitialScale(35); //비율 조절
wvs.setDefaultFontSize(8); // 기본 폰트 사이즈 지정
wvs.setMinimumFontSize(8); //폰트 사이즈 지정

//웹뷰 멀티 터치 가능하게 (줌기능)
wvs .getSettings().setBuiltInZoomControls(true); //줌 아이콘 사용 설정
wvs .getSettings().setSupportZoom(false);

wvs .setPluginState(WebSettings.PluginState.ON_DEMAND); // 플러그인을 사용 설정
wvs .setCacheMode(WebSettings.LOAD_NO_CACHE); // 웹뷰가 캐시를 사용하지 않도록 설정

wvs .setDefaultZoom(WebSettings.ZoomDensity.FAR); // 페이지 크기 자동 조절?

뒤로 가기 버튼
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}


webViewExampleSettings.setSaveFormData(true);  입력된 데이터 저장 여부
webViewExampleSettings.setSavePassword(true);  입력된 비밀번호 저장 여부

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

App Icon Generator

https://appicon.co/#app-icon

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

megastdyEdu APP 현황? 메가스터디교육

 

https://play.google.com/store/apps/developer?id=megastudyEdu.Co.,Ltd

 

Google Play의 megastudyEdu.Co.,Ltd 개발자 Android 앱

수백만 개의 최신 Android 앱, 게임, 음악, 영화, TV 프로그램, 도서, 잡지 등을 즐기세요. 기기 간에 공유되어 언제 어디서든 이용할 수 있습니다.

play.google.com

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

git - 간편 안내서  https://rogerdudler.github.io/git-guide/index.ko.html

 

git - 간편 안내서 - 어렵지 않아요!

 

rogerdudler.github.io

 

폴더를 하나 만들고, 그 안에서 아래 명령을 실행하세요.
git init

 

저장소 받아오기

로컬 저장소를 복제(clone)하려면 아래 명령을 실행하세요.
git clone /로컬/저장소/경로
원격 서버의 저장소를 복제하려면 아래 명령을 실행하세요.
git clone 사용자명@호스트:/원격/저장소/경로

 

작업의 흐름

여러분의 로컬 저장소는 git이 관리하는 세 그루의 나무로 구성돼있어요.
첫번째 나무인 작업 디렉토리(Working directory)
실제 파일들로 이루어져있고, 두번째 나무인 인덱스(Index)
준비 영역(staging area)의 역할을 하며, 마지막 나무인 HEAD
최종 확정본(commit)을 나타내요.

 

추가와 확정(commit)

변경된 파일은 아래 명령어로 (인덱스에) 추가할 수 있어요.
git add <파일 이름>
git add *
이것이 바로 git의 기본 작업 흐름에서 첫 단계에 해당돼요.
하지만 실제로 변경 내용을 확정하려면 아래 명령을 내려야 한답니다.
git commit -m "이번 확정본에 대한 설명"
자, 이제 변경된 파일이 HEAD에 반영됐어요.
하지만, 원격 저장소에는 아직 반영이 안 됐답니다.

변경 내용 발행(push)하기

현재의 변경 내용은 아직 로컬 저장소의 HEAD 안에 머물고 있어요.
이제 이 변경 내용을 원격 서버로 올려봅시다. 아래 명령을 실행하세요.
git push origin master
(다른 가지를 발행하려면 master를 원하는 가지 이름으로 바꿔주세요.)

만약 기존에 있던 원격 저장소를 복제한 것이 아니라면,
원격 서버의 주소를 git에게 알려줘야 해요.
git remote add origin <원격 서버 주소>
이제 변경 내용을 원격 서버로 발행할 수 있어요.

.

 

 

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요