我是使用WebView编程音乐播放从我的网站获取链接。
当用户按下Home Button时,我希望我的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 :(得分:1)
当用户按主页键时,您可以使用onUserLeaveHint ()方法播放声音,如文档所述:
当活动即将到来时,被称为活动生命周期的一部分 作为用户选择的结果进入后台。例如,何时 用户按下Home键,将调用onUserLeaveHint(),但是 当来电通话导致通话活动时 自动带到前台,onUserLeaveHint()不会 呼吁活动被打断。在调用它的情况下, 在活动的onPause()回调之前调用此方法。
要在Home键上播放声音,请使用IntentService。在 onUserLeaveHint()中启动它 您的活动和此服务在作业完成时自动停止.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
}
}