Comment afficher Toast à partir d'un service après la fin de l'activité principale?

Mise à JOUR: je ne suis pas d'accord que c'est un double - parce que je suis à la recherche d'un moyen de sortir de l'application principale et montrent encore un Toast à partir du service.

Dans une épreuve très simple d'application j'ai 2 boutons:

Comment afficher Toast à partir d'un service après la fin de l'activité principale?

Cliquant sur un des boutons pour exécuter un service avec un correspondant de la chaîne d'action ("ouvrir" ou "flash") -

OpenActivity.java:

public class OpenActivity extends Activity {
    private Intent mServiceIntent;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_open);
        mServiceIntent = new Intent(this, RegionService.class);
   }

    public void openCar(View v) {
        mServiceIntent.setAction("open");
        startService(mServiceIntent);
    }

RegionService.java:

public class RegionService extends IntentService {
    private static final String TAG = "RegionService";

    @Override
    protected void onHandleIntent(Intent intent) {
        Log.d(TAG, "Received an intent: " + intent);
        String action = intent.getAction();
        Log.d(TAG, "Received an action: " + action);

        if(action.equals("open")) {
            Toast.makeText(this, 
                    getString(R.string.car_opened), 
                    Toast.LENGTH_SHORT).show();
        } 

Malheureusement, mon application se bloque avec:

D/RegionService(24506): Received an intent: Intent { act=open cmp=de.afarber.mynotification/.RegionService }

D/RegionService(24506): Received an action: open

W/MessageQueue(24506): Handler (android.os.Handler) {422768a8} sending message to a Handler on a dead thread
W/MessageQueue(24506): java.lang.RuntimeException: Handler (android.os.Handler) {422768a8} sending message to a Handler on a dead thread
W/MessageQueue(24506):  at android.os.MessageQueue.enqueueMessage(MessageQueue.java:320)
W/MessageQueue(24506):  at android.os.Handler.enqueueMessage(Handler.java:626)
W/MessageQueue(24506):  at android.os.Handler.sendMessageAtTime(Handler.java:595)
W/MessageQueue(24506):  at android.os.Handler.sendMessageDelayed(Handler.java:566)
W/MessageQueue(24506):  at android.os.Handler.post(Handler.java:326)
W/MessageQueue(24506):  at android.widget.Toast$TN.hide(Toast.java:370)
W/MessageQueue(24506):  at android.app.ITransientNotification$Stub.onTransact(ITransientNotification.java:54)
W/MessageQueue(24506):  at android.os.Binder.execTransact(Binder.java:412)
W/MessageQueue(24506):  at dalvik.system.NativeStart.run(Native Method)

Étant une programmation Android newbie, je me demande Comment afficher une Toast de Service dans une manière correcte?

Je pense que je l'ai déjà vu sur des Toasts à l'Android à la Maison (c'est à dire il n'y a pas eu d'Activité sur l'écran de l'appareil et il y avait encore des Toasts).

Mon contexte: je tiens à surveiller un phare de l'appareil de mon service et de montrer quelques-texte Toasts - même lors de mon application a été fermée.

source d'informationauteur Alexander Farber