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.
69 lines
2.1 KiB
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);
|
|
}
|
|
}
|