2010-08-22 4 views
3

Je sais que ceci est en général hors de portée de SO, mais je cherche quelques informations de base oui/non pour voir s'il est même possible de continuer ... Je pense à la construction et à la prise de notes/annotation d'Android 'application qui fonctionne' sur 'd'autres applications Android installées, telles que le navigateur Web par exemple. Essentiellement, pendant que l'utilisateur naviguait, mon application fonctionnait dans le bg en tant que service, puis ils pouvaient l'activer, ce qui interceptait alors essentiellement les entrées de l'utilisateur et traduisait celles-ci sur un canevas transparent sur le navigateur Web en lignes. , les formes, etc. L'utilisateur pourrait alors prendre une capture d'écran de leur marquage avec la page Web sous-jacente, qui serait stockée sur la carte SD.Possibilité de 'superposer' des applications Android?

Répondre

2

Ceci est une très bonne idée et une bonne question, mais malheureusement, je ne crois pas que ce soit possible.

La façon dont Android est conçu seulement un Activity peut avoir le focus à la fois, tandis qu'un Service pourrait fonctionner en arrière-plan, l'utilisateur ne serait pas en mesure d'interagir avec elle. L'utilisateur peut seulement interagir avec le Activity actuellement actif.

Encore une fois, aime l'idée, mais il n'est malheureusement pas pris en charge.

+0

Je crois que cette réponse est correcte, mais vous pourriez être en mesure d'obtenir un peu d'astuces avec des raccourcis afin qu'une certaine combinaison de touches (Search-N) par exemple puisse basculer vers votre application et permettre la prise de notes. L'utilisateur pourrait alors "Back" à l'application précédente. Je ne crois pas que vous seriez en mesure de déterminer ce que cette application était si - Les joies d'un environnement en bac à sable :) – Basic

+1

Comment voulez-vous mettre en place le combo de touches si? –

0

Vous pourriez être en mesure d'atteindre cet objectif avec le service WindowManager. Vous pouvez ensuite l'utiliser pour appeler addView() avec une vue de type TYPE_SYSTEM_ALERT, ou éventuellement TYPE_SYSTEM_OVERLAY (mais voir les notes dans la documentation sur la prise de focus d'entrée).

Je ne l'ai pas essayé moi-même, mais j'ai vu plusieurs applications (souvent des applications de dictionnaire qui traduisent les mots sur lesquels vous appuyez) qui semblent avoir besoin de la permission SYSTEM_ALERT_WINDOW.

Questions connexes