You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SmsForwarder/app/src/main/java/com/idormy/sms/forwarder/BaseActivity.java

69 lines
2.1 KiB
Java

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