Original code is here NotificationUtils.javaКак я могу получить значение класса из другого класса
Я хочу, чтобы получить значение метода RoomID от activeroom.java. Я думаю, я могу использовать getClass(). getMethod(). ?
Таким образом, этот код в NotficationUtils.java и попытаться получить строковое значение метода «isRoomId» от ActivityRooms.java
public static boolean isAppIsInBackground(Context context,String chatRoomId) {
boolean isInBackground = true;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) {
List<ActivityManager.RunningAppProcessInfo> runningProcesses = am.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
for (String activeProcess : processInfo.pkgList) {
if (activeProcess.equals(context.getPackageName())) {
рядом, если(), я определяю метод м и я хочу получить значение методы "isRoomId" от «активного класса.
try {
Method m = activeProcess.getClass().getMethod("isRoomId",null);
if (chatRoomId.equals(m.toString()))
{
isInBackground = false;
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
ActivityRoom.java попал isRoomId метод.
public static String chatRoomId;
chatRoomId = intent.getStringExtra("chat_room_id");
public static String isRoomId()
{
return chatRoomId;
}
Просто создайте 'isRoomId()' static и вызовите 'ActivityRoom.isRoomId()' всякий раз, когда вам это нужно. – TychoTheTaco
если я создаю isRoomId() как статический метод. я могу использовать так. Метод m = activeProcess.getClass(). getMethod ("isRoomId", null); –
Да, вы можете использовать его именно так. Проверьте ответ redflar3 для получения более подробного объяснения. – TychoTheTaco