J'essaie de créer une vue de texture en service, et je ne semble pas obtenir "OnsurfaceTexTureVailable" rappeler. "Une TextureView ou une sous-classe ne peut être utilisée qu'avec une accélération matérielle activée." vient dans le journal quand j'ai fourni Android: Hardwareaccelerated = "true" pour l'application, est-il une autorisation d'être explicite fournie au service mon fichier xml androidmanifest est comme ci-dessous < / p>
3 Réponses :
pour avec "une textureview ou une sous-classe ne peut être utilisé qu'avec une accélération matérielle activée." code>, vous voudrez peut-être remplacer cette ligne: WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
Mon problème était que j'utilise Androidannotations et je devais tout gérer sans Androidannotations de cette classe. P>
OnsurfaceTextTextEnvailable sera appelé une fois la vue visible à l'écran. Jusqu'à ce qu'il ne soit pas appelé. Je vois que vous n'ayez pas ajouté le TextureView (et son parent) à la fenêtre d'activité ou à l'une de ses points de vue. Essayez de transmettre une carte d'affichage active ou une vue sur le service et ajoutez-la de TextureView dans cela. Une fois la vue affichée, l'appelé doit être appelé. (BTW Manipulation d'une vue à partir d'un service n'est pas recommandée) P>
Avez-vous essayé d'étendre l'intise du service au lieu du service régulier? Il "peut" être que puisque le service est en cours d'exécution sur le fil principal, vous avez ce problème. Autre que cela, vérifiez les propriétés de l'instance WindowManager.