没有调用IntentService OnHandleIntent

时间:2012-08-16 20:07:32

标签: android intentservice

我正在尝试使用Intent服务运行背景音乐。 OnhandleIntent不会被调用。我尝试添加断点甚至代码android.os.Debug.waitForDebugger();但我无法进入OnHandleIntent。 我已将服务添加到清单(android:name =“。BackgroundMusic”/>),我不确定我在这里缺少什么。任何帮助,将不胜感激。

public class BackgroundMusic extends IntentService
 {
   MediaPlayer mp;
   Uri uri;

public BackgroundMusic()
{
    super("BackgroundMusic");
     setIntentRedelivery(true);
}

@Override
protected void onHandleIntent(Intent intent)
{   
    try     
    {   
         android.os.Debug.waitForDebugger();
        int id=intent.getExtras().getInt("musicid");            
        mp=MediaPlayer.create(this,id);
        mp.prepare();
        mp.start();     
    }   
    catch (Exception e)
    {
        Log.e("Error",e.getMessage());
    }       
}

@Override
public void onCreate()
{
    super.onCreate();
}

@Override
public void onDestroy() 
{
    super.onDestroy();
    if (mp != null) 
        mp.release();
        mp=null;
}

}

活动代码

    @Override
public void onCreate(Bundle savedInstanceState)
{
    try
    {
            super.onCreate(savedInstanceState);
             LMain=new LinearLayout(this);  
                     LMain.setOrientation(LinearLayout.HORIZONTAL);
           LayoutParams pFill=new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
              LMain.setLayoutParams(pFill);
            imageview=new ImageView(this);          
                            imageview.setLayoutParams(pFill);
            setContentView(LMain);

            Intent IntImage=getIntent();
            int id=IntImage.getExtras().getInt("id");
                mresourceid=new ImageAdapter(this).music[id];       
            imageview.setImageResource(new ImageAdapter(this).images[id]);
            Intent IntMusic=new Intent(ImageDetail.this,BackgroundMusic.class);
            IntMusic.putExtra("musicid", mresourceid);
            startService(IntMusic);     
    }
    catch(Exception e)
    {
        Log.e("error",e.getMessage());
    }

}

1 个答案:

答案 0 :(得分:1)

有效。我之前在操作系统版本2.3.4上运行代码。 API级别3支持Intent Services。 想要更新以防万一有人做的和我做的一样