2011-01-04 8 views
15

Me gustaría saber si mi objeto contextual dado es de actividad, servicio o aplicación. O en otras palabras, si mi código se está ejecutando en segundo plano o en primer plano. (Por primer plano me refiero Código de actividad y las discusiones que se han creado por Activity).¿Cómo se puede distinguir si un objeto contextual dado es una actividad o un contexto de servicio?

+2

Esto probablemente no es en absoluto Lo que quieras. ¿Qué estás tratando de hacer y por qué posiblemente no sabes dónde se está ejecutando tu código? E incluso si no lo hiciste, ¿por qué es importante? Parece que tienes algunos defectos de diseño serios. También debe tener en cuenta que es perfectamente normal que el Código de actividad se ejecute en el "fondo" – Falmarri

+0

Es porque a veces quiero bloquear la transferencia de datos cuando está en segundo plano, invocado por el Servicio. Pero puede que tengas razón de pensar en otra solución. –

Respuesta

42

usted debería ser capaz de probar si un objeto es una clase específica utilizando "instanceof"

if (context instanceof Activity) { 
    // handle activity case 
} else if (context instanceof Service){ 
    // handle service case 
} 
Cuestiones relacionadas