我的android意图程序崩溃了为什么?

时间:2011-08-15 23:57:09

标签: android android-intent

我已经编写了一个Android程序来了解intents。我已经使用了所有需要的按钮制作了man.Xml并且它编译得很好。但是当我将它加载到模拟器中时它会崩溃(强制退出)。原因是什么?当我在代码中显示intentt2activity构造函数时,它会显示按钮。

package com.intent2;

import com.intent2.R;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class Intent2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }



 /* public Intent2Activity(View view) {

     /*Intent intent;
    switch (view.getId()) {
    case R.id.Button01:
        intent = new Intent(Intent.ACTION_VIEW,
                Uri.parse("http://www.vogella.de"));
        //startActivity(intent);
        break;
    case R.id.Button02:
        intent = new Intent(Intent.ACTION_CALL,
                Uri.parse("tel:(+49)12345789"));
        //startActivity(intent);
        break;
    case R.id.Button03:
        intent = new Intent(Intent.ACTION_DIAL,
                Uri.parse("tel:(+49)12345789"));
        //startActivity(intent);
        break;
    case R.id.Button04:
        intent = new Intent(Intent.ACTION_VIEW,
                Uri.parse("geo:50.123,7.1434?z=19"));
        //startActivity(intent);
        break;
    case R.id.Button05:
        intent = new Intent(Intent.ACTION_VIEW,
                Uri.parse("geo:0,0?q=query"));
        //startActivity(intent);
        break;
    case R.id.Button06:
         intent = new Intent("android.media.action.IMAGE_CAPTURE");
        //startActivityForResult(intent, 0);
        break;
    case R.id.Button07:
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("content://contacts/people/"));
        //startActivity(intent);
        break;
    case R.id.Button08:
        intent = new Intent(Intent.ACTION_EDIT, Uri.parse("content://contacts/people/1"));
        //startActivity(intent);
        break;
    default:
        break;
    }
}*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (resultCode == Activity.RESULT_OK && requestCode == 0) {
    String result = data.toURI();
    Toast.makeText(this, result, Toast.LENGTH_LONG);
  }
}      

}

3 个答案:

答案 0 :(得分:0)

如果查看设备/模拟器日志,它会告诉您哪种异常导致强制关闭(堆栈​​跟踪应该指向负责的确切行)。

要查看日志,请从命令行运行以下命令:

adb -e logcat

根据您告诉我们的内容,我怀疑解析其中一个URI时出现异常。

答案 1 :(得分:0)

您的data变量可能是null

答案 2 :(得分:0)

Intent2Activity Constructor方法之前调用

onCreate,因此当您调用它时,内容仍会null进行考虑。 你必须使用带有观点的听众 - > onItemClickListener