Context mcontext;
this.Context= mcontext;
//private Context context;
//this.context=context;
//super(mcontext);
Vibrator mVibrator = (Vibrator) mcontext.getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(300)
我在线搜索了很多简单的代码来发出哔哔声,然后发现了一个。但是我无法添加和编译几行代码以使手机振动。我遇到的所有线程都使用GetSystemService()。链接到某些代码以振动stackoverflow
第一个getsystemservice()
功能仅起作用,我阅读的地方需要由context object
调用。我做了一个上下文对象。然后说需要初始化上下文。我尝试了this.context = context
,这给出了另一个错误。我正在遇到这些汇编错误的周期,因为这应该是一项简单的工作来振动手机。请告诉我我在这里做错了什么。
我从其他线程中获得了经验,这个问题是不同的。由于其他线程给出了使用GetSystemService()单独使用的答案,但这是不起作用的,因为它需要上下文。
更新:在此处遇到此线程如何将上下文从Main Activity传递给Android中的另一类?
所以我做了
public class MyNonActivityClass{
// variable to hold context
private Context context;
//save the context received via constructor in a local variable
public MyNonActivityClass(Context context){
this.context=context;
}
}
,但随后我遇到了Mcallback的错误。
private final Callback mCallback;
然后在哪里添加此
MyNonActivityClass mClass = new MyNonActivityClass(this);
从您调用Vibrator service
的位置?
如果是从活动中,则
Vibrator mVibrator = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(300)
,或者如果是从Frgament那里,
Vibrator mVibrator = (Vibrator) getActivity().getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(300)
或在您的代码中更新此信息,例如
void vibrate(Context mcontext ){
Vibrator mVibrator = (Vibrator)
mcontext.getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(300)
}