마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

같은 코드인데 하나는 실행이 되고 하나는 실행이 되지 않습니다.

0 추천

안녕하세요? 인터넷에서 다른 분이 올리신 코드를 보고 제가 새로운 프로젝트를 만들어 똑같이 복사 붙여넣기를 해보았으나 앱이 뻗어버리는 오류가 발생하였습니다. 그분이 github에 올려놓으신 파일은 동작하는데 제 껏만 동작하지 않습니다. API를 다운그레이드도 해보았으나 동작이 되질 않습니다.

https://github.com/son4gi/sonagi

위 깃허브 링크에 실행되는 프로젝트와 안되는 프로젝트를 올려놓았습니다 왜 안되는지 궁급합니다...

 

2020-11-17 18:07:47.806 11142-11171/com.example.test E/eglCodecCommon: GoldfishAddressSpaceHostMemoryAllocator: ioctl_ping failed for device_type=5, ret=-1
2020-11-17 18:08:14.862 11142-11142/com.example.test E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.test, PID: 11142
    java.lang.RuntimeException: Unable to create service com.example.test.RingtonePlayingService: java.lang.SecurityException: Permission Denial: startForeground from pid=11142, uid=10086 requires android.permission.FOREGROUND_SERVICE
        at android.app.ActivityThread.handleCreateService(ActivityThread.java:3544)
        at android.app.ActivityThread.access$1300(ActivityThread.java:199)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1666)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.SecurityException: Permission Denial: startForeground from pid=11142, uid=10086 requires android.permission.FOREGROUND_SERVICE
        at android.os.Parcel.createException(Parcel.java:1950)
        at android.os.Parcel.readException(Parcel.java:1918)
        at android.os.Parcel.readException(Parcel.java:1868)
        at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:5198)
        at android.app.Service.startForeground(Service.java:695)
        at com.example.test.RingtonePlayingService.onCreate(RingtonePlayingService.java:48)
        at android.app.ActivityThread.handleCreateService(ActivityThread.java:3532)
        at android.app.ActivityThread.access$1300(ActivityThread.java:199) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1666) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6669) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
     Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.am.ActivityManagerService.enforcePermission(ActivityManagerService.java:9189)
        at com.android.server.am.ActiveServices.setServiceForegroundInnerLocked(ActiveServices.java:1189)
        at com.android.server.am.ActiveServices.setServiceForegroundLocked(ActiveServices.java:870)
        at com.android.server.am.ActivityManagerService.setServiceForeground(ActivityManagerService.java:20444)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:976)

이건 오류가 발생했을 때의 로그켓 입니다.. 답변 해 주시면 감사하겠습니다. (__)

탐탐비 (190 포인트) 님이 2020년 11월 24일 질문

1개의 답변

0 추천

퍼미션 에러네요

매니패스트에 추가하세요

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
공과근성 (6,020 포인트) 님이 2020년 11월 24일 답변
...