Я хотел бы найти решение о том, как остановить музыку, когда пользователь вернется к основной деятельности.
Мой код ниже, пользователь может вернуться к Activity A, как обычно, но музыка все еще воспроизводится из Activity B.
У меня есть второе действие как код ниже:
<Button
android:id="@+id/buttonUrl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Song" />
public class MySongActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
final Context context = this;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.buttonUrl);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
}
});
}
}
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none" />
public class WebViewActivity extends Activity {
WebView mWebView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playlist);
mWebView = (WebView) findViewById(R.id.webView1);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.loadUrl("http://m.orkun2u.com/msopheap/song/mysongs.htm");
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
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);
}
}
Пожалуйста, помогите мне. Я ценю вашу помощь.
Примечание.
Я пробовал все, что Google, но все равно не останавливает музыку.
просто еще одна вещь о том, что сказал Падма Кумар. способ остановить - использовать функцию dismiss
.
@Override
public void onPause() {
mWebView.setVisibility(View.GONE);
mWebView.destroy();
super.onPause();
}
обновлено: chenged функция fromoff dismiss()
для destroy()
, для более: читайте здесь: http://developer.android.com/reference/android/webkit/WebView.html
Я просто думаю, что лучший способ справиться с этой проблемой - это не webView.destory()
в Activity onPause()
.
Я думаю что:
@Override
protected void onResume() {
super.onResume();
webView.resumeTimers();
webView.onResume();
}
@Override
protected void onPause() {
if (null != getWebView()) {
webView.pauseTimers();
webView.onPause();
webView.reload();
}
super.onPause();
}
Сделаю все что в моих силах.
//onPause остановить музыку
public class MySongActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
final Context context = this;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.buttonUrl);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
//stop the music here
}
}
dismiss
аclose()