###前提・実現したいこと
会社の研修でandroidの課題をやっているのですが、エラー解決の課題で躓いています。
ただイヤホンジャックが刺されたらトーストで表示するだけのアプリです。
###発生している問題・エラーメッセージ
課題 この Activity 内で、メモリリークを引き起こす原因を特定し、リークしないように修正してください。 この Activity のライフサイクルの中でブロードキャストレシーバが動作している必要があります。
###該当のソースコード
public class MainActivity extends AppCompatActivity { public static final String TAG = MainActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onStart() { super.onStart(); // ヘッドセットの接続状態を監視し、接続状態の変化があった時のブロードキャストメッセージを受信する registerReceiver(new MyBroadcastReceiver(), new IntentFilter(Intent.ACTION_HEADSET_PLUG)); } // ブロードキャストのメッセージを受け取るクラス private class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // ブロードキャストのメッセージが届いたらログに吐き出す Log.v(TAG, "Broadcast intent received."); Toast.makeText(MainActivity.this, "Headset broadcast received.", Toast.LENGTH_LONG).show(); } } }
###補足情報(言語/FW/ツール等のバージョンなど)
android studio java
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。