所以我在android studio中使用Java,我想从另一个班级开始一个新班级(我在ListenerServiceFromWear
并且想要开始MainActivity
)和启动Mainactivity
后,我想在startEmergencyMode();
中启动一个方法(Mainactivity
)。
如何从ListenerServiceFromWear
执行此操作?
答案 0 :(得分:1)
以意图开始MainActivity
并在意图的额外部分放置一些标志,告诉MainActivity
致电startMergencyMode()
Intent intent = new Intent(this, Mainactivity.class);
intent.putExtra("isEmergency", true);
startActivity(intent);
然后在Mainactivity
实际调用startEmergencyMode()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
Intent intent = getIntent();
boolean isEmergency = intent.getBooleanExtra("isEmergency", false);
if(isEmergency){
startEmergencyMode();
}
}
答案 1 :(得分:0)
我不太明白你的意思"开始"
在java中,您可以:
static
字段或方法public
字段和方法。如果您希望只有一个'实例' MainActivity
的{{1}},使用静态方法:
public static void startEmergencyMode() {
// Code here
}
您可以使用MainActivity.startEmergencyMode()
在任何地方拨打电话。
请记住,此静态方法只能访问静态字段和其他静态方法。
如果您想创建MainActivity
的实例,只需创建一个并调用方法:
public void startEmergencyMode() {
// Code here
}
// Somewhere else
MainActivity activity = new MainActivity();
activity.startEmergencyMode();
如果您不了解静态和非静态方法或字段之间的区别,请参阅此主题的答案:What does 'public static void' mean in Java?