X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2Fwifi%2FKiller.java;fp=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2Fwifi%2FKiller.java;h=e26aedd1e2df5d3f592701569f170fa27112363c;hb=14a8870817fcac02ea00c5297f65ad6c85fd7292;hp=dcb895533da2e51e7932ab476caafd2111c0a075;hpb=4430403d20762773119a1db47c0a4c2776d778f1;p=zxing.git diff --git a/android/src/com/google/zxing/client/android/wifi/Killer.java b/android/src/com/google/zxing/client/android/wifi/Killer.java index dcb89553..e26aedd1 100644 --- a/android/src/com/google/zxing/client/android/wifi/Killer.java +++ b/android/src/com/google/zxing/client/android/wifi/Killer.java @@ -19,7 +19,13 @@ package com.google.zxing.client.android.wifi; import java.util.Timer; import java.util.TimerTask; +import com.google.zxing.client.android.R; + import android.app.Activity; +import android.app.AlertDialog; +import android.content.ActivityNotFoundException; +import android.content.Intent; +import android.net.Uri; import android.os.Handler; /** @@ -36,6 +42,20 @@ final class Killer implements Runnable { Killer(Activity parent) { this.parent = parent; } + void launchIntent(Intent intent) { + if (intent != null) { + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); + try { + parent.startActivity(intent); + } catch (ActivityNotFoundException e) { + AlertDialog.Builder builder = new AlertDialog.Builder(parent); + builder.setTitle(R.string.app_name); + builder.setMessage(R.string.msg_intent_failed); + builder.setPositiveButton(R.string.button_ok, null); + builder.show(); + } + } + } public void run() { final Handler handler = new Handler(); @@ -45,7 +65,10 @@ final class Killer implements Runnable { public void run() { handler.post(new Runnable() { public void run() { - parent.finish(); + // This will kill the parent, a bad idea. +// parent.finish(); + // This will start the browser, a better idea + launchIntent(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"))); } }); }