2012-05-29 181 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 
    } 
}