package com.idormy.sms.forwarder; import android.annotation.SuppressLint; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import androidx.appcompat.app.AppCompatActivity; import java.lang.reflect.Method; public class BaseActivity extends AppCompatActivity { //启用menu @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return super.onCreateOptionsMenu(menu); } //menu点击事件 @SuppressLint("NonConstantResourceId") @Override public boolean onOptionsItemSelected(MenuItem item) { Intent intent; switch (item.getItemId()) { case R.id.to_app_list: intent = new Intent(this, AppListActivity.class); break; case R.id.to_clone: intent = new Intent(this, CloneActivity.class); break; case R.id.to_about: intent = new Intent(this, AboutActivity.class); break; case R.id.to_help: intent = new Intent(this, HelpActivity.class); break; default: return super.onOptionsItemSelected(item); } startActivity(intent); return true; } //设置menu图标显示 @Override public boolean onMenuOpened(int featureId, Menu menu) { String TAG = "BaseActivity"; Log.d(TAG, "onMenuOpened, featureId=" + featureId); if (menu != null) { if (menu.getClass().getSimpleName().equals("MenuBuilder")) { try { Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE); m.setAccessible(true); m.invoke(menu, true); } catch (NoSuchMethodException e) { Log.e(TAG, "onMenuOpened", e); } catch (Exception e) { throw new RuntimeException(e); } } } return super.onMenuOpened(featureId, menu); } }