He creado una actividad que solo debe iniciarse desde un enlace (utilizando un filtro de intención). No quiero que esta actividad tenga una GUI; solo quiero que inicie un servicio y poner una notificación en el bar Intenté poner el filtro de intención para el enlace en mi servicio, pero eso no funciona. ¿Hay algo mejor para hacer esto que responda a los filtros de intención, o simplemente puedo hacer que mi actividad no tenga una GUI?
Lo siento si estoy confundiendo, IsaacActividad de Android sin interfaz gráfica de usuario
Respuesta
Su mejor opción parece ser usar un BroadcastReceiver
. Puede crear un nuevo BroadcastReceiver que detecta la intención de desencadenar la página de información y comenzar su servicio como este:
public class MyIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context _context, Intent _intent) {
if (_intent.getAction().equals(MY_INTENT)) {
// TODO Broadcast a notification
_context.startService(new Intent(_context, MyService.class));
}
}
}
Y se puede registrar este IntentReceiver directamente en el manifiesto de aplicación sin necesidad de incluirlo dentro de una actividad:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.myapplication">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<service android:enabled="true" android:name="MyService"></service>
<receiver android:enabled="true" android:name="MyIntentReceiver">
<intent-filter>
<action android:name="MY_INTENT" />
</intent-filter>
</receiver>
</application>
</manifest>
por favor dime qué es MY_INTENT en _intent.getAction(). Equal (MY_INTENT), lo siento si sueno ingenuo, solo soy un principiante. –
Puede usar cualquier cadena que desee para identificar su intención. Tiene que ser único. Le sugiero que use "your.package.name.START_SERVICE" –
No estoy seguro si un servicio funcionaría, pero un receptor de transmisión definitivamente no lo haría. Las URL se inician con StartActivity(). Los receptores de transmisión no pueden responder a esto.
http://developer.android.com/reference/android/content/BroadcastReceiver.html
TLC: Tenga en cuenta que, aunque la clase Intención se utiliza para enviar y recibir estas transmisiones, el mecanismo de difusión intención aquí es totalmente independiente de Propósitos que se utilizan para iniciar actividades con Context.startActivity() . No hay forma de que BroadcastReceiver vea o capture Intents usados con startActivity(); Del mismo modo, cuando transmite un Intento, nunca encontrará o iniciará una Actividad.
Use Service. Yo trabajo definitivamente Al hacer clic en el programa, haría su trabajo sin ninguna GUI. Use pendintgintent ... getService (MySerice.class ....). Luego, crea una nueva clase MyService que extienda la clase de servicio. Dentro de MyService.class, anule onStart() y haga lo que quiera hacer.
Haciendo eco de la respuesta anterior, no debe utilizar un receptor de difusión.
En la misma situación, lo que hice fue declarar el tema de esta manera:
<activity android:name="MyActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoDisplay">
Esta respuesta debe tener más votos positivos, porque responde la pregunta exacta que se hizo. Las otras respuestas son muy ciertas, pero esto en realidad fue muy útil y responde la pregunta que se hizo. – prolink007
Por desgracia, lo respondí bien después de que se publicó, lo que probablemente explica por qué eso no sucedió. Me dieron una insignia de Nigromante fuera del trato, así como tu comentario que me hizo sonreír :) – JoeHz
Esta es la respuesta correcta ABSOLUTA ya que hay cosas que no puedes hacer con un BroadcastReceiver. Actualmente me encontré con un problema, el uso de dispositivos USB. Usar un receptor Broadcast en lugar de una actividad hace que la aplicación pierda permisos cada vez que te desconectas. – blender
- 1. Desarrollo de interfaz gráfica de usuario de Common Lisp
- 2. Herramienta de interfaz gráfica de usuario de Windows para sqlite3?
- 3. Componente de la interfaz gráfica de usuario de Swing
- 4. Diseñador de interfaz gráfica de usuario de Windows API?
- 5. interfaz gráfica de usuario Actualización: Runnables vs Mensajes
- 6. Una herramienta de interfaz gráfica de usuario para MongoDB
- 7. EventListeners y componentes personalizados de interfaz gráfica de usuario
- 8. Interfaz gráfica de usuario de Python para la aplicación portátil
- 9. Tutorial de interfaz gráfica de usuario en C
- 10. Propagación de eventos en una interfaz gráfica de usuario morfológica
- 11. Interfaz gráfica de usuario para el script R
- 12. Interfaz gráfica de usuario para cURL para probar una API
- 13. ¿Interfaz gráfica de usuario avanzada posible en Java?
- 14. Cómo presentar una interfaz gráfica de usuario en Python
- 15. Windows 8 interfaz gráfica de usuario, y WPF/SilverLight
- 16. ¿Qué elementos básicos de interfaz gráfica de usuario de Android están disponibles?
- 17. Android Best Practice on Actualización de la interfaz de usuario de BroadcastReceiver a una determinada actividad
- 18. sincronización de subprocesos: sin interfaz de usuario
- 19. Iniciar la aplicación de Android sin actividad
- 20. ejemplos de interfaz de usuario de Android
- 21. Interfaz de usuario de calendario en Android
- 22. Android tarea asincrónica ralentizando mi interfaz de usuario Subproceso
- 23. ¿Cómo puede el servicio Android actualizar la interfaz de usuario de la actividad que lo inició?
- 24. Tema de interfaz de usuario dinámica
- 25. Guardar un boceto de procesamiento en un archivo PNG, del lado del servidor sin interfaz gráfica de usuario/pantalla
- 26. marcos de interfaz gráfica de usuario para las aplicaciones del mundo real C++
- 27. Uso de WPK para la interfaz gráfica de usuario de PowerShell
- 28. interfaz gráfica de usuario combinada y línea de comandos aplicación OS X
- 29. Desarrollo de interfaz gráfica de usuario de Qt: visualización de una cuadrícula 2D utilizando QGraphicsView
- 30. Prueba de interfaz gráfica de usuario automatizada de aplicaciones de Linux
ahora me doy cuenta que las actividades sean única interfaz gráfica de usuario y que es su propósito por lo que tendrá que utilizar un servicio o algo más. Gracias, Isaac –