1

ユーザーがメインアクティビティに戻ったときに音楽を停止する方法についての解決策を見つけたいと思います。

私のコードは以下のとおりです。ユーザーは通常どおりアクティビティAに戻ることができますが、音楽はアクティビティBから再生されます。

以下のコードとして2番目のアクティビティがあります。

レイアウトA

<Button
    android:id="@+id/buttonUrl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="My Song" />

アクティビティAのJava

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);
         }
     });
}
}

レイアウトB

<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" />

アクティビティBのJava

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);
}
}

助けてください。私はあなたの助けに感謝します。

私はそれをグーグルでずっと試しましたが、それでも音楽を止めません。

4

3 に答える 3

3

パドマ・クマールが言ったことについてもう1つだけ。停止する方法は、dismiss関数を使用することです。

@Override
public void onPause() {
    mWebView.setVisibility(View.GONE);
    mWebView.destroy();
    super.onPause();
}

更新:関数をからdismiss()に変更destroy()、詳細:こちらをお読みください:http ://developer.android.com/reference/android/webkit/WebView.html

于 2012-05-21T08:36:06.993 に答える
0

//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
}

}

于 2012-05-21T08:31:44.150 に答える
0

webView.destory()この問題に対処する最善の方法は、Activity'sではないと思います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();  
}  

私のベストを尽くす。

于 2018-07-06T12:05:00.690 に答える