Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

ToolKitService代码中配置错误,修复后启动遇到Caused by: java.lang.SecurityException: Starting FGS

Ouverte
#29 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
android, java
Domaine
mobile, security

Piste de recherche

Start by comparing the manifest service declaration with com.tencent.trtc.apiexample.ToolKitService, then inspect ToolKitService.onCreate at line 33 and the Android 14 foreground-service exception. Verify the corrected declaration and required permission handling on a target SDK 34 device; done means the service starts without the reported SecurityException.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

ToolKitService默认配置是这样:

<service
            android:name="com.tencent.liteav.utils.ToolKitService"
            android:foregroundServiceType="mediaProjection"
            android:enabled="true"
            android:exported="false" />

这个配置和实际上ToolKitService所在路径不一样。
代码是com.tencent.trtc.apiexample.ToolKitService。
如果我修复这个路径,把target 设置34,跑在34设备上。就会遇到下面错误:

JavaExceptionHandler                 E  Process: com.tencent.trtc.api_example, PID: 12687
                                        java.lang.RuntimeException: Unable to create service com.tencent.trtc.apiexample.ToolKitService: java.lang.SecurityException: Starting FGS with type mediaProjection callerApp=ProcessRecord{3a0477f 12687:com.tencent.trtc.api_example/u0a374} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION] any of the permissions allOf=false [android.permission.CAPTURE_VIDEO_OUTPUT, android:project_media] 
                                        	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4991)
                                        	at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0)
                                        	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478)
                                        	at android.os.Handler.dispatchMessage(Handler.java:106)
                                        	at android.os.Looper.loopOnce(Looper.java:222)
                                        	at android.os.Looper.loop(Looper.java:314)
                                        	at android.app.ActivityThread.main(ActivityThread.java:8816)
                                        	at java.lang.reflect.Method.invoke(Native Method)
                                        	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569)
                                        	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1090)
                                        Caused by: java.lang.SecurityException: Starting FGS with type mediaProjection callerApp=ProcessRecord{3a0477f 12687:com.tencent.trtc.api_example/u0a374} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION] any of the permissions allOf=false [android.permission.CAPTURE_VIDEO_OUTPUT, android:project_media] 
                                        	at android.os.Parcel.createExceptionOrNull(Parcel.java:3057)
                                        	at android.os.Parcel.createException(Parcel.java:3041)
                                        	at android.os.Parcel.readException(Parcel.java:3024)
                                        	at android.os.Parcel.readException(Parcel.java:2966)
                                        	at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:7310)
                                        	at android.app.Service.startForeground(Service.java:775)
                                        	at com.tencent.trtc.apiexample.ToolKitService.onCreate(ToolKitService.java:33)
                                        	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4978)
                                        	at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0) 
                                        	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478) 
                                        	at android.os.Handler.dispatchMessage(Handler.java:106) 
                                        	at android.os.Looper.loopOnce(Looper.java:222) 
                                        	at android.os.Looper.loop(Looper.java:314) 
                                        	at android.app.ActivityThread.main(ActivityThread.java:8816) 
                                        	at java.lang.reflect.Method.invoke(Native Method) 
                                        	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569) 
                                        	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1090) 
Langage dominant
Java
Étoiles
60
Forks
48
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Tencent-RTC/TRTC_Android

Toutes les issues de Tencent-RTC/TRTC_Android

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.