我正在尝试开发一个可以随时发送短信的小部件扩展。这工作得很好,但我想通过振动智能手表来确认短信已发送。我可以从小部件扩展启动振动器吗?
据我了解,向主机应用发送意图应该足以启动振动。
在我的课堂上扩展 WidgetExtension onTouch:
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("124124512", null, "blaa", null, null); // Works fine
Intent intent = new Intent(Control.Intents.CONTROL_VIBRATE_INTENT);
intent.putExtra(Control.Intents.EXTRA_ON_DURATION, 1000);
intent.putExtra(Control.Intents.EXTRA_OFF_DURATION, 1000);
intent.putExtra(Control.Intents.EXTRA_REPEATS, 1);
intent.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME, mContext.getPackageName());
intent.setPackage(mHostAppPackageName);
context.sendBroadcast(intent, Registration.HOSTAPP_PERMISSION); // No vibration
我还尝试创建扩展 ControlExtension 的单独振动器类:
public class Vibrator extends ControlExtension{
public Vibrator(Context context, String hostAppPackageName) {
super(context, hostAppPackageName);
// TODO Auto-generated constructor stub
}
public void vibrate(){
startVibrator(1000, 1000, 1);
}
}
并从小部件扩展中触发振动而没有效果。我忽略了什么?非常感谢!