Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的应用程序得到;“强制关闭”;在几个设备上_Android_Onclick_Webview_Imageview - Fatal编程技术网

Android 我的应用程序得到;“强制关闭”;在几个设备上

Android 我的应用程序得到;“强制关闭”;在几个设备上,android,onclick,webview,imageview,Android,Onclick,Webview,Imageview,我有人抱怨我的应用程序在启动时得到了FC(而其他人从来没有遇到过一个问题)。这是我的全部活动来源。因为它发生在我不拥有的设备上,所以我无法修复它。从他们告诉我的情况来看,它不起作用:摩托罗拉Blackflip、摩托罗拉Dext、摩托罗拉CLIQ XT。我猜摩托罗拉毕竟不喜欢我的应用程序 可能是我允许使用minSdkVersion=“3”吗?我在模拟器上测试了1.5,效果很好 提前感谢您的回复 public class workit extends Activity implements OnCl

我有人抱怨我的应用程序在启动时得到了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;
        }
    } 
}

你最好的选择是让某人向你发送LogCollector输出(根据我的经验,用户非常乐意为你提供调试问题的信息。那里有一些非常酷的人)。这将为您提供一个调用堆栈,以及您触发的异常类型的信息(NullPointerException,等等)

下一步-您构建应用程序的依据是什么?在你的项目结构的某个地方应该有一个“Android x.x”条目。如果你正在构建一些应该在安卓1.5上运行的东西,那么请确保你实际上是在安卓1.5上构建的。如果需要,可以根据2.0进行构建,但如果需要使用2.0特定的函数,则必须正确封装它们。(这已经在stackoverflow上详细解释了好几次。)


另一方面,我建议使用更多信息丰富的变量名。“yay0”对一段时间不熟悉代码的人来说没有任何意义。

你应该看看这个崩溃报告库,我使用它,它工作得很好,将崩溃报告发送到谷歌电子表格。因此,您不依赖市场错误报告或任何min.OS版本。谢谢,我会检查一下,然后回来报告结果。这些报告太棒了。我在那里发现了很多有趣的数据!谢谢分享!谢谢你的回答,我的目标是2.2。您建议用户以何种方式向我发送LogCollector输出?我应该如何引导他们完成?请他们安装LogCollector应用程序,并在应用程序崩溃后立即运行。它将自动准备一封他们可以发送给你的邮件。至于构建版本-只是为了好玩,试着将其设置为1.5,看看它是否仍然可以编译。以2.2为目标是可以的,这样您就可以支持SD卡上的安装,但是,再一次-如果您想支持1.5设备,请确保不要使用1.6+API调用。这就是答案!!work.getSettings().setDefaultZoom(ZoomDensity.FAR);无法在1.5和1.6中编译。现在,我只需要找到一种方法,让我的网络视图在没有ZoomDensity的情况下被放大。请查看以下帖子: