2013-04-08 100 views
0

我只是想創建一個應用程序,當用戶點擊啓動器圖標時,它會將它們帶到我的網站。我發現在stackoverflow中做到這一點的示例代碼,它幾乎可以工作。下面的代碼確實成功啓動了一個網站,它在顯示「應用程序John Project(process com.john.project)已經意外停止後顯示一個彈出窗口,請再試一次」。我猜我沒有正確關閉我的應用程序?這裏是我的MainActivity.java:爲什麼我的基礎/教程android應用程序崩潰?

package com.john.project; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.content.Intent; 
import android.net.Uri; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     String url = "http://project.john.com/"; 
     Intent i = new Intent(Intent.ACTION_VIEW); 
     i.setData(Uri.parse(url)); 
     startActivity(i); 

     //super.onCreate(savedInstanceState); 
     //setContentView(R.layout.activity_main); 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

回答

1

必須調用super.onCreate()中的onCreate(),否則你將與一個SuperNotCalledException崩潰。

+0

此外,未來,當您詢問關於崩潰時,最好從Logcat發佈完整的堆棧跟蹤;) – Karakuri 2013-04-08 03:01:18

+0

好的,謝謝你解決了這個問題。我有一個相關的問題。第二次點擊我的啓動器圖標時,它會打開一個標題爲「JOhn Project」的白色屏幕。這隻發生在第二次和以後。它第一次用我想要的網址打開一個網頁瀏覽器。你知道如何防止「John Project」這個白色屏幕出現嗎? – John 2013-04-08 03:03:33

+0

這是因爲它正在重新啓動你的活動,但你的活動已經在運行,所以它只是把它帶到前臺。在onCreate()的末尾添加'finish();'。這將告訴系統關閉活動,以便下一次啓動,它必須重新創建(並將通過onCreate(),打開您的網頁等) – Karakuri 2013-04-08 03:04:44

1

在onCreate()的頂部添加super.onCreate()