2010-08-30 117 views
1

嘿夥計們,我仍然是Android的&爪哇noob,但我見過的一切都告訴我這應該完全工作,但它不!不在模擬器中,不在電話中。我試圖使用振動器(500); ..我得到一個「應用程序意外停止」錯誤Android:振動器不起作用。 Foce關閉模擬器

我錯過了什麼?下面

代碼:

package com.phys; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.os.Vibrator; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 

public class phys extends Activity { 

Vibrator vibr; 
Button but; 
TextView txt; 
int counter = 0; 

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

     vibr = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); 
     but = (Button)findViewById(R.id.Button01); 
     txt = (TextView)findViewById(R.id.txt); 
     but.setOnClickListener(clk); 
    } 

    OnClickListener clk = new OnClickListener(){ 

    @Override 
    public void onClick(View v) { 
    // TODO Auto-generated method stub 
    txt.setText(Integer.toString(counter)); 
    //do something else 
    vibr.vibrate(500); 
    counter++; 
    } 

    }; 
} 

回答

14

使用adb logcat,DDMS,或在Eclipse中DDMS角度看logcat的和檢查與您相關的堆棧跟蹤「應用程序意外終止」的錯誤。這會給你更多關於你哪裏出錯的信息。

我懷疑問題是您缺少VIBRATE權限。如果是這樣,在你AndroidManifest.xml文件添加爲您<manifest>的子元素:

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

是啊,你說得對。我沒有清單中的許可。 謝謝! – Yorgo12345 2010-08-30 22:48:17