私はタップでSMSを送信する小さなウィジェット拡張機能を開発しようとしています。これは非常にうまく機能しますが、スマートウォッチを振動させてSMSが送信されたことを確認したいと思います。ウィジェット拡張からバイブレーターを起動できますか?
私が理解しているように、ホストアプリにインテントを送信することで、バイブレーションを開始するのに十分なはずです。
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);
}
}
そして、発砲は効果なしでウィジェット拡張から振動します。私が見落としているものは?本当にありがとう!