2012-05-29 78 views
1

我是程序音乐在WebView中播放从我的网站获取链接。在主页按下状态栏通知栏时的活动

当用户按Home键时,我希望我的WebView活动保持状态栏通知状态。请帮助给我一些方法。

我在的WebView代码:

public class playlist extends Activity { 
private WebView mWebView; 
MediaPlayer myMediaPlayer; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.playlist); 

    mWebView = new WebView(this); 

    mWebView = (WebView) findViewById(R.id.playlist); 
    mWebView.setWebViewClient(new myWebClient()); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setAllowFileAccess(true); 
    mWebView.getSettings().setPluginsEnabled(true); 
    mWebView.getSettings().setBuiltInZoomControls(true); 
    mWebView.loadUrl("http://www.mp3skull.com/justin_bieber.html"); 
} 

public class myWebClient extends WebViewClient 
{ 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     // TODO Auto-generated method stub 
     super.onPageStarted(view, url, favicon); 
    } 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     // TODO Auto-generated method stub 
     view.loadUrl(url); 
     return true; 
    } 
} 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 
     mWebView.goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
@Override 
public void onPause() { 
    mWebView.setVisibility(View.GONE); 
    mWebView.destroy(); 
    super.onPause(); 
} 
} 

该代码在用户按Home键的音乐也停止,因为Voide的onPause(),但我需要保持音乐播放上正确的活动状态栏通知。请帮帮我。

问候, Virak

+0

告诉我,如何接受? – SopheakVirak

回答

1

可以使用onUserLeaveHint()方法播放声音时,用户按Home键的医生说:

调用作为活动周期的一部分,当活动即将 去作为用户选择的结果进入后台。例如,当 用户按Home键时,onUserLeaveHint()将被调用,但 当来电呼叫导致呼叫中的Activity被自动带到前台 时,onUserLeaveHint()将不会被呼叫 活动被中断。在被调用的情况下, 在活动的onPause()回调之前调用此方法。

用于播放Home键按键使用IntentService。启动它在onUserLeaveHint()你的活动 这个服务自动停止工作时是finished.as:

public class MyService extends IntentService { 

public MyService(String name) { 
    super(name); 
    // TODO Auto-generated constructor stub 
} 
public MyService() { 
    super("MyService"); 
} 

@Override 
public IBinder onBind(Intent arg0) { 
    // TODO Auto-generated method stub 
    return null; 
} 
@Override 
protected void onHandleIntent(Intent arg0) { 
    // TODO Auto-generated method stub 
     // PLAY SOUND HERE 
    } 
}