1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| package com.example.myapplication;
import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.os.IBinder; import android.util.Log; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; import android.content.ComponentName; import android.content.ServiceConnection; import android.os.IBinder; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import androidx.core.graphics.Insets;
public class MainActivity_B extends AppCompatActivity {
private MusicService musicService; private boolean isBound = false;
private ServiceConnection serviceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { MusicService.MusicBinder binder = (MusicService.MusicBinder) service; musicService = binder.getService(); isBound = true; }
@Override public void onServiceDisconnected(ComponentName name) { isBound = false; } };
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_main_b);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; });
String value = getIntent().getStringExtra("key"); TextView myTextView1 = findViewById(R.id.textView3); myTextView1.setText(value);
ImageButton button_play = findViewById(R.id.imageButton); ImageButton button_stop = findViewById(R.id.imageButton6);
button_play.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isBound) { musicService.playMusic(); } } });
button_stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isBound) { musicService.pauseMusic(); } } }); }
@Override protected void onStart() { super.onStart(); Log.d("ActivityLifecycle", "B_onStart called"); Intent intent = new Intent(this, MusicService.class); bindService(intent, serviceConnection, BIND_AUTO_CREATE); }
@Override protected void onDestroy() { super.onDestroy(); Log.d("ActivityLifecycle", "B_onDestroy called"); if (isBound) { unbindService(serviceConnection); isBound = false; } }
@Override protected void onStop() { super.onStop(); Log.d("ActivityLifecycle", "B_onStop called"); if (isBound) { unbindService(serviceConnection); isBound = false; } }
@Override protected void onPause() { super.onPause(); Log.d("ActivityLifecycle", "B_onPause called"); }
@Override protected void onResume() { super.onResume(); Log.d("ActivityLifecycle", "B_onResume called"); } }
|