Процесс уничтожения Android из широковещательного приемника - PullRequest
1 голос
/ 15 июня 2011

Привет, я хочу убить активность в моем приложении, когда USB отключен. У меня есть широковещательный приемник, и все настроено и работает нормально.

public class USBOff extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Intent intent1 = new Intent(context, SdcardOff.class);
    startActivity(intent1);
    finish();
    }
 }

Этот код, однако, говорит мне, что метод финиша и методы startActivity должны быть созданы? почему это не работает спасибо за любую помощь с моей проблемой

Ответы [ 3 ]

2 голосов
/ 15 июня 2011

startActivity - это метод Context, а не метод BroadcastReceiver.finish - это метод Activity.Попробуйте:

context.startActivity(intent1);

Вы не можете позвонить finish с BroadcastReceiver.

0 голосов
/ 24 декабря 2011

Простая логика:

Если вы не хотите убивать действие, не используйте Finish (). А если вы хотите убить действие, вы должны вызвать Finish ();

Итак, удалите отделку ();из кода и попробуйте.Наслаждайтесь.

0 голосов
/ 19 июня 2011

Я нашел метод interexting: Manfest:

android:launchMode="singleInstance"
<action android:name="com.gr.app.KILLSELF" />

код получателя:

Intent intentInterface = new Intent("com.gr.app.KILLSELF");
mContext.startActivity(intentInterface);

действие по созданию части:

if (intent.getAction().compareTo("com.gr.app.KILLSELF") == 0) {
        finish();
    };

Это не будет работать в такой конфигурации, если у вас может быть много случаев активности (строка android: launchMode = "singleInstance" является проблемой для вас),

Надеюсь, это поможет

...