2010-08-30 118 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