2011-01-04 2 views
15

Ich würde gerne wissen, ob mein gegebenes Context-Objekt aus Aktivität, Service oder Anwendung stammt. Oder mit anderen Worten, wenn mein Code im Hintergrund oder im Vordergrund ausgeführt wird. (Von Vordergrund bedeuten i Aktivitätscode und Threads, die durch Aktivität erstellt wurde.)Wie kann unterschieden werden, wenn das angegebene Kontextobjekt ein Aktivitäts- oder ein Servicekontext ist?

+2

Dies ist wahrscheinlich überhaupt nicht ist was du willst. Was versuchst du zu tun, und warum würdest du möglicherweise nicht wissen, wo dein Code läuft? Und selbst wenn nicht, warum ist das wichtig? Es hört sich so an, als hättest du ernsthafte Designfehler. Sie sollten auch beachten, dass es völlig normal ist, dass der Aktivitätscode im "Hintergrund" ausgeführt wird. – Falmarri

+0

Es liegt daran, dass ich manchmal die Datenübertragung blockieren möchte, wenn sie im Hintergrund ist und vom Dienst aufgerufen wird. Aber Sie könnten Recht haben, dass ich über eine andere Lösung nachdenken sollte. –

Antwort

42

sollten Sie in der Lage sein, zu prüfen, ob ein Objekt eine bestimmte Klasse ist mit „instanceof“

if (context instanceof Activity) { 
    // handle activity case 
} else if (context instanceof Service){ 
    // handle service case 
} 
Verwandte Themen