Android sendKeyDownUpSync不';我不能正常工作

Android sendKeyDownUpSync不';我不能正常工作,android,instrumentation,keyevent,Android,Instrumentation,Keyevent,我对sendKeyDownUpSync有一些问题。我想在我的小部件中使用它来控制内置的音乐播放器。它几乎可以正常工作。几乎是因为当我调用函数时: public void previousTruck() { final Instrumentation inst = new Instrumentation(); new Thread(new Runnable() { public void run() {

我对sendKeyDownUpSync有一些问题。我想在我的小部件中使用它来控制内置的音乐播放器。它几乎可以正常工作。几乎是因为当我调用函数时:

public void previousTruck()
    {
        final Instrumentation inst = new Instrumentation();
        new Thread(new Runnable() {         
            public void run() { 
                   new Instrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MEDIA_PREVIOUS);

        }).start();     
    }
它开始改变我播放列表中的音乐,但很多时候,为什么? 我只想从播放列表中跳一步到下一首歌。

在OnCreate中的某个地方

在你以前的卡车里

请注意在不调用run()的情况下创建线程对象会导致内存泄漏-。如果在OnCreate中创建线程对象,并且直到下一次更改屏幕方向时才调用run(),则在更改屏幕方向时会发生这种情况。这就是为什么最好的方法是在调用start()之前立即创建Thread对象

myThread = new Thread()
{
    public void run()
    {
        Instrumentation m_Instrumentation = new Instrumentation();
        m_Instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_MEDIA_PREVIOUS);
    }
};
myThread.start();