2013-04-26 28 views
0

目前我正在開發android應用程序,但它保持強制關閉。我會發布我已經完成的代碼。測試項目gui只是一個簡單的按鈕。正確的時候,我點擊按鈕,它應該去相機類。然而,它的力量關閉。我運行相機本身,它的工作原理。 :/強制關閉,我不知道爲什麼

Testproject類:

package com.example.testproject; 

    import android.os.Bundle; 
    import android.app.Activity; 
    import android.content.Intent; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 

    public class Testproject extends Activity { 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.menu); 

Button bc; 

bc = (Button)findViewById(R.id.btncamera); 

bc.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v){ 
     Intent intent = new Intent(Testproject.this, Camera.class); 
     startActivity(intent); 
    } 
}); 

} 

    } 

Camera類:

package com.example.testproject; 

    import java.io.IOException; 

    import android.os.Bundle; 
    import android.app.Activity; 
    import android.content.Intent; 
    import android.graphics.Bitmap; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.ImageButton; 
    import android.widget.ImageView; 

    public class Camera extends Activity implements View.OnClickListener  { 

ImageButton ib; 
Button b; 
ImageView iv; 
Intent i; 
final static int cameraResults = 0; 
Bitmap bmp; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.camera); 
    initialize(); 
} 

public void initialize(){ 
    iv = (ImageView) findViewById (R.id.ivReturnedPic); 
    ib = (ImageButton) findViewById (R.id.ibTakePic); 
    b = (Button) findViewById (R.id.bSetWall); 
    b.setOnClickListener(this); 
    ib.setOnClickListener(this); 

} 

    @Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    switch (v.getId()){ 
    case R.id.bSetWall: 
     try { 
      getApplicationContext().setWallpaper(bmp); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     break; 

    case R.id.ibTakePic: 
     i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(i,cameraResults); 
     break; 
    } 

} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK){ 
     Bundle extras = data.getExtras(); 
     bmp = (Bitmap)extras.get("data"); 
     iv.setImageBitmap(bmp); 

    } 
} 

    } 
+9

發佈您的LogCat輸出。如果應用程序強制關閉,LogCat中肯定會出現錯誤消息。 – MarsAtomic 2013-04-26 03:19:55

+0

哦。談到logcat。我完全忘記了logcat。哈哈。設法解決錯誤。謝謝! – 2013-04-26 03:54:41

+0

@ user2316009:如果您解決了問題,請考慮添加您自己的答案。這將有助於其他人訪問此頁面。 – 2013-04-26 03:59:39

回答

0

確保你有你的manifest.xml文件中的所有適當的權限。如果您使用的相機,你將需要:

<uses-permission android:name="android.permission.CAMERA" /> 
+0

奇怪的是我沒有添加這個權限,它的工作原理。 – 2013-04-26 05:46:32

0

確保ü已在manifest.xml添加您的camera活動。

+0

對於遇到類似問題的任何人,經常會發生這種情況,因爲您可能忘記在清單中添加活動。 以下是清單活動代碼,對於不同的人有所不同,但它非常標準化。 以下是清單代碼: 2013-04-26 05:45:34

相關問題