0

アプリケーションを 3 秒間振動させたいのですが、動作せず、理由がわかりません。ボタンをクリックしても何もしません。最初はメインアクティビティでやろうとしましたが、同じ結果でした。

主な活動

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_my);
    final Button vibrateButton = new Button(this);
    final Intent vibration = new Intent(this, MyService.class);

    vibrateButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startService(vibration);
        }
    });
}

サービス

public class MyService extends IntentService {
    public MyService()
    {
        super("MyService");
    }

    @Override
    protected void onHandleIntent(Intent vibration)
    {
        Vibrator vibe = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);
        vibe.vibrate(3000);
    }
}
4

1 に答える 1

2

試す:

 import android.os.Vibrator;
 ...
 Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE);
 // Vibrate for 3000 milliseconds
 v.vibrate(3000);

ノート:

AndroidManifest.xml ファイルに許可を含めることを忘れないでください。

<uses-permission android:name="android.permission.VIBRATE"/>
于 2014-10-14T07:52:21.610 に答える