Skip to main content

원신 등 안드로이드 앱/게임의 클립보드 접근을 막기

iOS 버전의 원신에서 켜자마자 클립보드를 복사해갔다는 "Safari에서 붙여넣은 원신" 메시지가 뜬 이미지가 돌아다녔는데요. 이 메시지는 iOS 14에서 추가된 클립보드 관련 시스템 메시지로 어떤 앱이 다른데서 복사한 클립보드 내용을 자기 앱으로 가져갔음을 의미해요. 그리고 iOS 14부터 등장한 이 메시지를 통해 iOS의 여러 앱에서 클립보드를 복사해갔다는 것이 들통나 시끄러웠기도 했어요. 그러면 하나. 안드로이드나 PC판에도 그러지 않을까 싶어 불안감이 커지실 수도 있을 것 같아요.  다행히 안드로이드에서는 안드로이드 10.0 (API 29) 부터 기본 키보드 외에는 포커스를 갖지 않은 백그라운드 앱이 클립보드를 읽어갈 수 없으니 기본적인 부분은 안심하셔도 되요. 그러면... 이번 경우처럼 포어그라운드, 현재 메인으로 띄워져있는 앱의 경우는 어떨까요? 아쉽게도 이에 대한 메시지(iOS처럼 "A앱에서 붙여넣은 B앱")나 이를 막는 제어 기능은 없더라구요. 😂😂 그렇다고 낙심하지 마세요. 3년전 xda 글 에 따르면 adb 명령을 통해 클립보드 접근을 제어할 수 있다고 하니까요. adb shell 을 실행하시려면 PC에서는 여기를 눌러 윈도, 맥, 리눅스 용으로 platform tools를 내려받아 실행할 수 있도록 압축을 풀어두셔야 하고 안드로이드 기기에서는 USB 디버깅을 켜두셔야 명령 실행이 가능해요. 이 부분은 검색을 통해 확인하실 수 있는데 대략적으로는 설정 앱의 기기 정보에서 '빌드 번호'를 8번 이상 누르고 화면 잠금(설정된 경우에만)을 풀어주시면 되요. 압축이 풀린 폴더에 명령 프롬프트를 여시면 되는데, 주소 표시창에서 cmd를 입력한 뒤 엔터를 누르시면 그 폴더의 자리의 명령 프롬프트가 열려 편해요. 그리고 한 번 클립보드 접근하는 앱이 얼마나 많은지 확인해볼까요. 개발자가 READ_CLIPBOARD 권한을 선언한 앱은 설치 후 이 권한이 자동으로 주어져요. 접근 허용된 앱> ad

안드로이드 개발 관련 포스트

Multiling Keyboard 는 어떻게 업데이트가 있는지 확인해내는걸까.. 몰래 인터넷 권한을 넣은게 아닐까 찾아봐도 전혀 없어요.









2014-11-01
-------------

안드로이드 스튜디오 1.0이 공식적으로 배포되기 시작하면서,
이클립스와 안드로이드 개발 도구(ADT)를 함께 쓰는 조합은 도태되기 시작했습니다.

여러분도 프로젝트를 Android Studio로 옮겨보세요-



그런데....

 Android Studio 1.0으로 프로젝트를 옮겨왔는데 도저히 답을 찾을 수도 없고 SDK Manager도 안열리고 답답해져버렸어요.. ; _ ; 아아 이거 날려버리고 당분간 이클립스에서 써야지..

Android Support Library랑 build.gradle 의 라이브러리 버전은 둘 모두 21.0.2 로 같습니다. 물론 Android Support Repository 패키지도 설치되어있구요.

ANDROID_SWT로 지정해줘도 SDK Manager는 열릴 기미가 없네요. 다시 설치하고 자바도 최신으로 업데이트 해버렸는데도 말이에요.

sdk의 tools/lib/find-java.bat에서 set java_exe=java.exe로 명시하는 방법으로 해결

 우왓! 감사합니다.! SDK Manager 띄웠어요-!

mac에서도 기본적으로 jdk를 1.6으로 체크하게 설정되어 있습니다. 전 1.8깔려 있는데... Info.plist를 수정해야 합니다

2014-12-09

-----------------

어째서 안드로이드 스튜디오를 켜면, DWM이 이렇게 CPU를 잔뜩 먹고 있는가에 대하여.. 이클립스만도 못한것 같아...



물론 코드 칠 때도 버벅버벅버벅...

 
 2014-12-10
-------------


문득 알바 때 하던 생각이 나서 재빨리 예제 복사해서 붙여봤는데

떠다니는 뷰만 뜨고 알림막대/소프트키 숨기기가 안된다..

무슨 문제지.. 홈버튼 눌러도 숨기기를 유지하려고 Activity 대신 Service에다 넣어뒀슴다.
예제 주소는 https://developer.android.com/training/system-ui/immersive.html#nonsticky

유사 앱들은 있는데 얘네들이 원하는 권한은 공통적으로 SYSTEM_ALERT_WINDOW 던데.. 흐음.. 그러면 떠다니는 뷰를 만들고 거기에 걸면 될 줄 알았는데 뭐가문제지




2014-12-13
-----------


 어째서 이 간단한 코드가 제대로 동작하지 않는 것일까.
그렇다고 windowManager.updateViewLayout()을 걸었을 때 뷰가 추가되어있지 않단 오류도 안나고 쌩쌩해서 안보일 뿐이란걸 알려주는것 같은데..
WRAP_CONTENT, 너비높이를 픽셀 수동지정 해도 별 성과가 없었습니다.<
역시 저는 개발 따위 못하므니다.!




2015-02-10
-----------

킷캣 들어 새로워진 NotificationListenerService 를 이용한 알림 상어질...은 실패로 돌아갔습니다. 일단 표준 알림 체계를 쓰지 않으면 앱 리버싱을 해야 내용 추출에 필요한 키를 따낼 수 있겠더라구요 =_=..





2015-02-11

-----------


넘겨받은 ImageView가 null도 아니고, Runnable이 정상적으로 게시되었는데 실행되지 않는 바보같은 상황을 만들어버렸다..
여러분은 이런거 하시면 안되요..!



 ImageView가 Window에 장착되지 않은 상태로, 비트맵 디코딩 하는 스레드와 View준비시키는 스레드가 같은데(즉 View준비시키는 스레드가 비트맵 디코딩을 기다리는 상황) 저걸 넣었으니 될 리가 없었지 ㅡㅡ..

2015-02-12
--------------





 2015-02-13
--------------

이게 무슨 소리야..! 롤리팝부터 안드로이드의 VideoView는 VideoView.openVideo()와 함께 audio focus를 갖게 된다니..... https://stackoverflow.com/questions/28119955/disable-androids-videoview-requestaudiofocus-when-playing-a-video

는 사실이었습니다.





킷캣만 해도 스톡 뮤직 플레이어에만 일시정지를 넣던게



 롤리팝에선 아예 오디오 포커스를 가져가버리고







이는 비디오를 지정함에 따라 openVideo()가 불러와지는 시점부터 막을 수 없습니다.




으악 망했어요


MediaPlayer + SurfaceView로 선회하였습니다. 자체 뷰를 안만들어도 됐었네요..
종횡비 맞추느라 힘들었다아.. ㅠㅠ 어째서 비디오가 안보이면 시작조차 못하고 비디오가 준비 안되면 정보도 가져오지못하는지 https://stackoverflow.com/questions/28119955/disable-androids-videoview-requestaudiofocus-when-playing-a-video/28522477#28522477

2015-02-14

---------------


 setAlpha는 아샌 API 13인가 그 때부터 들어왔지만
킷캣의 ro.config.low_ram=true 플래그를 설정해둔 기기에서는 무시 되어버렸습니다.
SurfaceView를 쓰는 이상 비디오 투명은 안되는걸 알고 있었는데
setAlpha가 안되면 패널이라도 투명하게 만들어야죠..
이로서 이미지도 불투명-☆

isLowRamDevice() 활용법
ActivityManager activityManager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
boolean isRamHungry = activityManager.isLowRamDevice();
activityManager = null;

if(isRamHungry){
    //RAMHUNGRY! 다른 방법을 찾아보자구요
}else{
    View.setAlpha(0.5f);
}

2015-02-16

-----------


안드로이드는 리눅스에서 시작했지만 외부저장소(microSD)가 FAT32 파티션인 까닭에 EXT4등지에서  허용되던 몇몇 파일 이름이 저장이나 불러와지지 않는 문제를 해결해야합니다.
트위터를 예로 들자면 XXXX.jpg:small 에서 뒤의 :small 부분이 문제가 되는데요. 그냥 윈도우 기준으로 정리해버리면 깔끔합니다.


https://stackoverflow.com/questions/11394616/java-io-ioexception-open-failed-einval-invalid-argument-when-saving-a-image

2015-02-16

----------


안드로이드 폰 해상도 변경하기.
쉘을 열고
wm size 960x1280
wm density 240
(LG Vu3 기준)
을 입력해보세요. 넥서스5에서도 이 일반적이지 않은 화면비를 테스트 할 수 있게 된답니다-♡
좀더 완벽한 결과를 얻으시려면 재부팅 해주시면 되는데요,
스크린샷은 화면비율을 제대로 찍어내지 못해서 레터박스가 끼어진 채로 찌그러지게 나옵니다. :/...만 화면은 제대로 나오니 걱정하지 않으셔도 되요.



만약 돌아가고 싶다..면
wm size reset
wm density reset
후 재부팅 하시면 원래대로 돌아옵니다.

2015-02-23

-------------

세상에. 소프트 키를 덮는 컬러 필터라니.. Chainfire님 능력자시다아..
https://play.google.com/store/apps/details?id=eu.chainfire.lumen





2015-02-25
-------------


안드로이드 스튜디오는 알다시피 IntelliJ 기반인데요. 계속 개선이 진행되서 성능 문제도 나아졌고, 이 IDE로 자바는 물론 안드로이드, 코틀린, 파이썬 개발까지 무료로 가능합니다. 루비나 Java EE, JS 웹 개발의 경우는 유료 구독이 필요하구요. 연 $142에 할부가 안되서 학생신분에 좀 부담스러운 가격이라 그렇지 이거 하나만 사셔도 웬만한건 다 됩니다. 꼭 쓰시길(???)

2018-12-18

Comments

Popular posts from this blog

VLC로 크롬캐스트에 영상 전송하기

크롬캐스트는 구글이 만들고 TV나 모니터의 HDMI 포트에 꽂는 동글로, 파일을 읽는 기능은 없지만 유튜브, 구글 플레이 무비, 푹, 라프텔 등 지원되는 서비스에서 스트리밍되는 영상을 연결된 화면으로 뿌려주는 역할을 해요. 현재 1세대,  2세대, 울트라, 3세대까지 나왔어요. <세대별 차이> 1세대 (단종) - 2.4GHz 와이파이 Wi-Fi 4 (802.11n)만 지원 - 최대 1080p @ 30fps - VP8, AVC(H264) 영상 재생 - HDMI 플러그가 동글에 고정 - TV의 USB 포트 전원만으로 작동 2세대 (단종) - 5GHz 와이파이 Wi-Fi 5 (802.11ac)도 지원 - 최대 1080p @30fps, 720p @60fps - HDMI 플러그가 기기에서 나와 케이블로 연결, 유연한 설치 가능 울트라 (국내 미출시. 해외 직구시 $69) - 최대 2160p UHD - HDR10, 돌비비전(HDR) 지원 - 동봉된 전원공급기를 꽂아둬야 하며, 여기에 유선 인터넷 연결이 가능. 3세대 (판매중, 54,900원) - 최대 1080p @60fps <크롬캐스트를 지원하는 동영상 플레이어> 범용 동영상 플레이어 앱 중에서는 VLC(PC판 클래식) , nPlayer (유료) 가 크롬캐스트로 영상을 전송시킬 수 있는 것으로 보여요. 팟플레이어는 캐스트 기능을 못찾겠네요. 따라서 오늘은 VLC를 통해 영상을 캐스트해볼게요. ㅣ_ㅣ)V 방법은 간단해요. 크롬캐스트를 켜두시면 렌더러에 뜨는데, Playback - Renderer 메뉴의 목록에서 크롬캐스트 이름을 클릭하시면 되요. 이 때 재생중인 영상이 PC에선 사라지고 캐스트 단말에만 뜹니다. 앞서 말했듯 크롬캐스트는 세대별로 지원 코덱이나 스펙이 차이납니다. 이 규격에 맞지 않는 영상은 못 볼까요? 아니에요. ' ')+ 아래의 창에서 OK를 누르면 실시간 변환 모드로 재생되니 일단은 괜찮아요.

카카오톡을 업무용으로 쓰기에 끔찍한 이유.

카카오톡은 끔찍합니다. 폰을 초기화 시키면, 아니 유심카드 뽑아다 다른 폰에 꽂은 뒤 전화번호 인증만 다시 해줘도 그동안 쌓아온 대화기록이 날아가버리고 없는거를 업무에 쓴다니.. 아니되요.. 이런 특성 때문에 높으신 분들은 일 덮는데 딱이라며 좋아하시겠지만은... 카카오톡이 제공하는 채팅기록 백업을 쓰셨다구요? 안됐군요! 백업 이후에 주고받은 대화는 날아가고 없을 것이며, 텍스트만 백업되기 때문에 사진과 영상들은 모조리 날아가고 없을겁니다. 라인이나 왓츠앱은 구글 드라이브에 백업을 넣을 수 있다는 것만 다르죠.   카카오톡은 PC카톡 등 이용시 친구목록을 보기위해 매번 비밀번호를 직접 입력해야 합니다. 인증 절차도 단순하고 기기별로 설정할 수 있는 PIN, 2차 비밀번호, 네이버에 있는 일회용 로그인 번호 등도 없으며 매 잠금해제/로그인시 카카오 계정의 비밀번호를 그대로 입력해야합니다.  비밀번호를 기억해내서 자주 입력해야 한다는건 갈수록 복잡해지는 비밀번호에 대한 피로 때문에 남들도 알기쉬운 쉬운 비밀번호를 설정해버린다거나 키로거 등 악성코드가 입력한 비밀번호를 수집해버리는 등 보안적인 측면에서 좋지 않습니다. 메신저를 고르는데 1. 군입대 같이 접속 오랫동안(3일 이상) 못해도 못 받는 일이 없어야 한다면. 2. 컴퓨터, 태블릿, 폰. 기기마다 제각각인 대화기록 등을 백업하고 관리하는데 진절머리 나신다면. 3. 기기 댓수 제한 없이 소유기기 모두에 로그인해두고 싶다면 4. 앱이 세팅된 폰이 없어도 로그인 할 수 있는 번호기반 메신저를 원하신다면. 텔레그램으로 오십시오. https://telegram.org/ 텔레그램에서는 1. 폰번호 공유, 접속중 표시는 설정할 수 있습니다. 2. 연락처는 친구 추천용이며 서버와 동기화하지 않아도 됩니다. (ID로 친추 가능) 3. 대화기록은 물론 사진과 영상도 서버에 저장되고 기기끼리 동기화 됩니다. 4. 2차비밀번호 설정 가능. (로그인시 SMS/메시지 인증후

윈도 10 에서 WLAN AutoConfig 껐다켜서 주기적인 속도 저하를 막기

Wi-Fi가 뭔가 다운받으려면 주기적으로 속도가 줄어드는데 이 현상을 뭘로 검색해야 할까요.. 서버문제는 아닌거 같은게 MS에서 다운로드할 때도 그랬고 Xubuntu 받으려고 토렌트 쓸 때도 그렇거든요. ac건 n이건 다 발생하는중이기도 하구요. 핑 걸어보니 Wi-Fi - AP 간 핑튐이 있네요...   Ping Spike 로 검색해본 결과 관리자 권한으로 아래의 명령을 쳐보세요 netsh wlan set autoconfig enabled= no interface=" Wi-Fi "   (단, Wi-Fi라는 네트워크 디바이스 이름은 컴퓨터마다 다를 수 있음) 를 시도했더니 핑튐이 좀 줄었어요. 여기서 Wi-Fi 라는건 설정 - 네트워크&인터넷 - 상태 - 어댑터 설정 변경 누르면 나오는 창에 '네트워크 연결'의 이름입니다. 예> 로컬 영역 연결     하지만 이 방법은 한가지 단점이 있습니다. Wi-Fi 검색이 아예 안되게 되서 도중에Wi-Fi를 바꾸거나 끊어야할 때 다시 설정을 바꿔야한다는 것이죠. 설정을 원래대로 돌릴 땐 netsh wlan set autoconfig enabled= yes interface=" Wi-Fi "  입니다. no를 yes로 바꾸세요. 실행직후 지금까지 연결되어있었던 Wi-Fi랑은 연결이 끊어지며 Wi-Fi AP검색이 실행돼 다시 접속하게 됩니다. 출처 타래 https://mobile.twitter.com/LaruYan/status/1144792372481363969 ------------------------------ 2019-07-07 그래서 랜카드별로 Roaming Sensitivity (로밍 민감성), Roaming Aggressiveness (로밍 적극성)설정이나 Game/Multimedia Mode 설정이 있는건데 이 서피스에는 관련 설정이 전혀 없네요.(?)