2013年8月9日 星期五

Android 開發筆記 - 從 Android Service 發動 startActivity

若是只是單純從一個 Activity 發動另一個 Activity:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com.tw")));

若是從 Service 發動 StartActivity 則需須指定 Intent.FLAG_ACTIVITY_NEW_TASK 方可正常運行:

Intent mIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com.tw"));
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(mIntent);

1 則留言:

  1. 您好,想請問我照著您的寫法寫了之後,會出現runtime錯誤,如下:
    「03-07 14:23:17.291: E/AndroidRuntime(26668): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.content.Context.startActivity(android.content.Intent)' on a null object reference」

    想請問為什麼會這樣呢? 我是在一個主畫面Activity背景運行Service然後在服務中接收到指令後去執行startActivity

    回覆刪除