11.Nas_1


새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


[안드로이드/Android]삼성 '스마트매니저' 푸시알림 차단이슈 대응하기 출처: https://gun0912.tistory.com/64 [박상권의 삽질블로그]

♨ 카랜더 일정 :
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    [안드로이드/Android]삼성 '스마트매니저' 푸시알림 차단이슈 대응하기

    출처: https://gun0912.tistory.com/64 [박상권의 삽질블로그]


    스마트 매니저 '절전'기능 대응하기





    1. 우리 앱도 기본으로 '꺼짐'으로 되어있는 앱목록에 껴주세요!


    이 방법이 제일 쉽습니다. 우리는 추가로 개발할게 없습니다.


    252F624E579012A006


    하지만 이 방법은 제일 어렵습니다. 

    삼성에서 우리의 앱을 저 목록에 끼워줄리가 없으니까요..

    삼성 관계자 여러분, 저 목록에는 대기업 앱만 끼워주시는건가요?

    이유를 알고 싶습니다.














    2. 사용자 여러분! 절전모드를 사용하지마세요!


    앱안에서 삼성스마트매니저가 깔려있는 사용자들에게 아래와 같은 팝업을 띄워주었습니다.

    그리고 사용자가 설정으로 이동할수있도록 버튼까지 같이 보여주었습니다.


    276E75475790121D38


    하지만 사용자는 귀찮은걸 싫어합니다.

    공지사항,팝업,알림등 귀찮다고 느껴지는 것들은 읽어보지도 않고 닫아버리는 경우가 대다수입니다.


    실제로 GA에서 이벤트로 찍어서 데이터를 분석해보면 팝업이 떴을때 그냥 닫아버리는 사용자가 대다수였습니다..

    이 방법도 역시 임시방편일뿐 대부분의 사용자는 여전히 절전기능 이슈가 존재한다고 생각했습니다.











    3. 3일에 한번 앱을 실행시키자!


    이 절전기능 이슈를 해결하기위한 방법을 생각해보면 아래와 같습니다.

    1. 적어도 3일에 한번 앱을 실행시킨다.

    2. 뜬금없이 앱이 실행되면 사용자가 이상하게 생각하므로 사용자가 모르게 앱을 실행시켰다가 바로 닫는다.


    위의 2가지만 충족시킨다면 절전기능 이슈로부터 벗어날 수 있게 됩니다.


    이 방법은 '알람몬'을 운영하고 있는 '말랑스튜디오'로부터 영감을 받았습니다.

    아래 설명을 읽기 귀찮으신분은 '말랑스튜디오'에서 라이브러리형태로 제공하고있는 이 기능을 사용하시면 됩니다.

    https://github.com/malangstudio/AvoidSmartManager




    2번의 해결방법은 쉽습니다.

    별도로 투명한 액티비티를 만들고 이 액티비티를 실행했다가 바로 finish()해주면 됩니다.


    public class AvoidSmartManagerActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    overridePendingTransition(0, 0);
    finish();
    }
    }




    그리고 이 액티비티의 Manifest에는 excludeFromrecents, taskAffinity 를 넣어주어야 합니다.

    excludeFromrecents을 true로 설정하면 최근실행된 앱 리스트에 이 액티비티는 표시되지 않습니다.

    taskAffinity를 별도의 이름으로 지정하지 않으면 투명한 액티비티가 실행될때 이액티비티만 실행되는것이 아니라 다른 액티비티도 함께 실행됩니다.

    그래서 투명한 액티비티가 실행되었다가 종료되도 앱의 메인액티비티가 실행되버리는 현상이 발생합니다.


    <activity
    android:name=".smartmanager.AvoidSmartManagerActivity"
    android:excludeFromRecents="true"
    android:taskAffinity=":avoidSmartManager"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
    view rawManifest1.xml hosted with ❤ by GitHub




    적어도 3일에 한번 앱을 실행시키기 위해서는 앱을 실행시키기 위한 어떤 특정 이벤트가 필요합니다.


    Receiver를 두어서 어떤 이벤트가 일어날때 이를 감지하고 위에서 만든 투명한 액티비티를 실행한다면 이 문제는 해결할 수 있습니다.

    그럼 어떤 이벤트에 대해서 모니터링을 걸어두어야 할까요?


    잘 생각해보면 스마트폰을 사용한다면 누구나 3일에 한번은 최소한 한번 이상 '충전을 하거나', '충전을 해제하거나', '휴대폰을 재부팅시키거나' 할것입니다.

    여기서 우리는 아래 이벤트를 감지하는 Receiver를 만들면 되는것 입니다.

    - ACTION_POWER_CONNECTED

    - ACTION_POWER_DISCONNECTED

    - BOOT_COMPLETED



    그렇게해서 만들어진 Manifest는 아래와 같이 정의될것입니다.


    <receiver
    android:name=".smartmanager.AvoidSmartManagerReceiver"
    android:enabled="true">
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
    <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
    </intent-filter>
    </receiver>
    view rawManifest2.xml hosted with ❤ by GitHub




    AvoidSmartManagerReceiver에서는 미리 만들어둔 투명한 액티비티를 실행했다가 바로 종료하는 코드를 작성해주면 됩니다.

    이 리시버에서는 위에서 정의한 이벤트가 발생했는지를 검사하고 삼성스마트매니저의 설치여부를 알아낸뒤 투명한 액티비티를 랜덤시간이후에 실행하는 동작을 수행 합니다.


    public class AvoidSmartManagerReceiver extends BroadcastReceiver {
    private final static String SMART_MANAGER_PACKAGE_NAME = "com.samsung.android.sm";
    @Override
    public void onReceive(final Context context, Intent intent) {
    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    등록된 댓글이 없습니다.

    목록

    새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사




    Total 1,684 / 47 Page
    [ 바비 바크 / 다이아몬드 빌드 레포 ]

    바비 바크/다이아몬드 빌드 레포https://github.com/bobbybark/diamond-build-repo/find/master■ ▶ …

    [ 반디컷 사용방법 ]

    반디컷 사용방법https://www.bandicam.co.kr/bandicut-video-cutter/support/tutorial/반디컷 프로…

    [ k***e wavve 채널 시청 성공 )GT-KING-PRO에 coreelec docker 설치 조건에 s… ] 댓글 7

    GT-KING-PRO에 coreelec docker 설치및 SJ**, 설치 후기도커 설치는설정-애드온-저장소에서 설치-모든 저장소-서비스-도커 …

    [ tvheadend 빌드하여 설치 하기/ 64bit 스마트폰 갤럭시노트8에 설치 하기 ]

    tvheadend 64BIT 빌드하여 설치 하기/ 64bit 스마트폰 갤럭시노트8에 설치 하기[linux] 리눅스 32bit, 64bit 확인 …

    [ Hyper-V : VM의 Android ISO 설치후 초기 부팅 진행 설정 작업 ] 댓글 1

    Hyper-V : VM의 Android ISO 설치후 초기 부팅 진행 설정 작업안드로이드 ,,,,,,, 복사 않함>> 구글로그인>…

    [ Let’s Encrypt SSL 인증서 만료에 시놀로지 보안 인증서 설치된 상태와 https 연결 설정에서 … ]

    Let’s Encrypt SSL 인증서 만료에 시놀로지 보안 인증서 설치된 상태와 https 연결 설정에서 사설 ddns로 https접속시 안전…

    [ ● 그림등 붙여넣기 하면 임시 폴더가 없습니다 로 업로드 할 수 없을 때 글저장 이 않될때 ]

    ● 그림등 붙여넣기 하면 임시 폴더가 없습니다 로 업로드 할 수 없을 때 글저장 이 않될때그림등 붙여넣기 하면 임시 폴더가 없습니다 로 업로드 …

    [ ■■■ redpill 부투로더 의 vmware dsm 설치 오류 ■■■ ]

    ●redpill 부투로더 의 vmware dsm 설치 오류아직 안되네요설정방법이 어렵네요 ▶j:\VM_redpill\vmware_synoboot…

    [ ● ESxi서버의 VM가동화면을 VMRC로 사용시 해상도 변경 임의사이즈 마우스 드래그로 키우기 설정 방법 ]

    ● ESxi서버의 VM가동화면을 VMRC로 사용시 해상도 변경 임의사이즈 마우스 드래그로 키우기 설정 방법-VMRC로 사용 방법- esxi 서버…

    [ ● 정보) 독립 실행형 ESXi 호스트에서 가상 머신을 백업하는 방법은 무엇입니까? ]

    ● 정보)독립 실행형 ESXi 호스트에서 가상 머신을 백업하는 방법은 무엇입니까? 내용 https://serverfault.com/questio…

    [ ● redpill boot loader dsm7.0 mac address 설정시 mac을 2개 설정시 인식못… ]

    ● redpill boot loader dsm7.0 mac address 설정시 mac을 2개 설정시 인식못하고 1개로 설정시 접속 상태 확인-…

    [ ● 시놀로지 dsm 7.0 putty 명령어 systemctl로 저의 시스템 동작상태 및 ??? 명령어를 … ] 댓글 2

    ● 시놀로지 dsm 7.0 putty 명령어systemctl로 저의 시스템 동작상태 및 ??? 명령어를 실행 확인 으로 실행 중지 재시작 명령 …

    [ 실패) ESXi 7.0 한방팩 만들기 ] 댓글 1

    실패) ESXi 7.0 한방팩 만들기●https://www.098.co.kr/esxi-7-0-%ec%84%a4%ec%b9%98-%ed%95%9c…

    [ ● Esxi server veeam 백업 프로그램 다운로드 설치방법 ]

    ● Esxi server veeam 백업 프로그램 다운로드 설치방법헤놀로지 설치 가동에 VMDK 백업으로 작업 진행 합니다1.Esxi serve…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-07-08 14:03:23

    오늘의 홈 현황


    • 현재 접속자♨ 623 명
    • 오늘 가입자※ 2 명
    • 어제 가입자※ 4 명
    • 주간 가입자※ 18 명
    • 오늘 방문자 1,587 명
    • 어제 방문자 2,016 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,421,511 명
    • 전체 게시물※ 8,682 개
    • 전체 댓글수※ 24,853 개
    • 전체 회원수 11,098 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑