我的应用程序在几台设备上获得“强制关闭”

时间:2010-09-06 06:28:56

标签: android onclick webview imageview

我有人抱怨我的应用程序在启动时获得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 个答案:

答案 0 :(得分:1)

您最好的选择是请某人向您发送LogCollector输出(根据我的经验,用户非常乐意为您提供调试问题的信息。那里有一些非常酷的人)。这应该给你一个callstack,以及你触发了什么样的异常的信息(NullPointerException等)。

接下来 - 你正在构建你的应用程序是什么?某个项目结构中应该有一个“Android x.x”条目。如果您正在构建应该在Android 1.5上运行的东西,那么请确保您实际构建的是1.5。如果需要,可以针对2.0构建,但如果需要使用特定于2.0的函数,则必须正确封装它们。 (已经多次在stackoverflow上对此进行了详细解释。)

在不相关的说明中 - 我建议使用更多信息丰富的变量名称。 “yay0”对任何一段时间没有与代码密切合作的人没有任何意义。