2010-09-06 53 views
0

我有人抱怨我的應用程序在啓動時獲取FC(同時其他人從未遇到過單一問題)。這是我的完整活動來源。由於它發生在我沒有的設備上,所以我無法修復它。從他們告訴我它不起作用:摩托羅拉Blackflip,摩托羅拉Dext,摩托羅拉CLIQ XT。猜猜摩托羅拉畢竟不喜歡我的應用程序...我的應用程序在幾個設備上獲得「強制關閉」

難道是我允許minSdkVersion =「3」嗎?我在模擬器上測試了1.5,並且工作正常...

非常感謝您的回覆。

public class workit extends Activity implements OnClickListener { 

Button yay; 
Button yay0; 
Button yay1; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.main); 

     yay = (Button) findViewById(R.id.gostart); 
     yay.setOnClickListener(this); 
     yay0 = (Button) findViewById(R.id.dontstart); 
     yay0.setOnClickListener(this); 
     yay1 = (Button) findViewById(R.id.exit); 
     yay1.setVisibility(ImageView.GONE); 


     ImageView inizio = (ImageView)findViewById(R.id.start);           
     inizio.setVisibility(ImageView.VISIBLE); 
     inizio.setBackgroundResource(R.drawable.start); 
    } 

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    if (v == yay0) { 
     finish(); 
    } 
    if (v == yay) { 
    ImageView inizio = (ImageView)findViewById(R.id.start); 
    inizio.setVisibility(ImageView.GONE); 
    WebView work = new WebView(this); 
    setContentView(work); 
    work.loadUrl("file:///android_asset/index1.html"); 
    work.setWebViewClient(new work()); 
    work.setBackgroundColor(0); 
    work.getSettings().setBuiltInZoomControls(true); 
    work.getSettings().setDefaultZoom(ZoomDensity.FAR); 
    } 
    if (v == yay1) { 
     finish(); 
    } 
    } 
    private class work extends WebViewClient {  
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.contains("exit.html")) { 
      // TODO: do what you have to do 
      finish(); 
      } 
      view.loadUrl(url); 
      return true; 
     } 
    } 
} 
+1

你應該看看這個崩潰報告庫,我使用它,它很好地工作,發送崩潰報告到谷歌電子表格。所以你不要依賴市場錯誤報告或任何分鐘。 OS版本。 http://code.google.com/p/acra/ – 2010-09-06 06:37:16

+0

謝謝,我會檢查出來並回來報告結果。 – thpoul 2010-09-06 07:46:11

+0

這些報道是驚人的。我在那裏發現了很多有趣的數據!感謝您分享這一點! – thpoul 2010-09-06 10:12:33

回答

1

最好的辦法是請人送你LogCollector的輸出(在我的經驗,用戶非常樂意爲您提供信息,以調試問題。有一些很酷的人在那裏)。這應該給你一個調用堆棧,以及你觸發了什麼樣的異常(NullPointerException等)的信息。

接下來,你在建什麼樣的應用程序?在你的項目結構中應該有一個「Android x.x」條目。如果你正在構建應該在Android 1.5上運行的東西,那麼確保你實際構建的是1.5。如果你願意,你可以構建2.0,但如果你需要使用2.0特定的函數,你必須正確地封裝它們。 (這已在幾次計算器上詳細解釋過。)

在一個不相關的註釋上 - 我建議使用更多的信息變量名稱。 「yay0」對任何沒有與代碼密切合作一段時間的人來說都沒有任何意義。

+0

謝謝你的回答,我的目標實際上是2.2。您建議用戶向我發送LogCollector輸出的哪種方式?我應該如何指導他們? – thpoul 2010-09-06 07:36:59

+0

讓他們安裝LogCollector應用程序並在應用程序崩潰後立即運行它。它會自動準備一封可以發送給你的郵件。至於構建版本 - 只是爲了好玩,試着將其設置爲1.5,看看它是否仍然編譯。目標2.2可以,所以你可以支持在SD卡上安裝,但再次 - 如果你想支持1.5設備,請確保你不要使用1.6+ API調用。 – EboMike 2010-09-06 08:44:19

+0

這就是答案! work.getSettings()setDefaultZoom(ZoomDensity.FAR)。不能在1.5和1.6中編譯。現在我只需要找到一種方法讓我的webview在沒有ZoomDensity的情況下放大FAR。 – thpoul 2010-09-06 09:15:41