Ich mache einen BrodcastReceiver, um die Nachricht zu sprechen: Anruf empfangen, während Telefon klingelt.BroadcastReceiver stoppt einen Thread nicht
Code of BroadcastReceiver zu:
@Override
public void onReceive(Context context, Intent intent) {
cont = context;
tts = new Speak(cont);
String action = intent.getAction();
if (action.equalsIgnoreCase("android.intent.action.PHONE_STATE")) {
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
TelephonyManager.EXTRA_STATE_RINGING)) {
incoming_number = intent.getExtras().getString(
"incoming_number");
falador = new Thread() {
@Override
public void run() {
try {
if (!this.isInterrupted()) {
while (true) {
sleep(5000);
h.post(repeater);
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
falador.start();
} else {
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
TelephonyManager.EXTRA_STATE_IDLE)) {
h.removeCallbacks(repeater);
falador.interrupt();
}
}
}
}
Aber, wird das Ereignis IDLE nicht den Faden stoppen. Kannst du mir helfen?
Danke, Mateus
Sind Sie sicher, dass Ihr Thread läuft, bevor Sie ihn unterbrechen? vielleicht lief es überhaupt nicht. Loggen Sie sich ein, um dies zu sehen – waqaslam