Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 意图标志和启动模式_Android_Service_Android Intent - Fatal编程技术网

Android 意图标志和启动模式

Android 意图标志和启动模式,android,service,android-intent,Android,Service,Android Intent,我有一个服务S,它在引导完成后立即启动。我有一个带有一个活动的应用程序,它在应用程序启动时绑定到服务S 现在我已经为某个事件注册了一个广播接收器,因此如果该事件发生,我应该启动相同的活动。我不希望创建同一个活动的另一个实例,我希望重用活动,但是应该调用活动的onCreate()或onRestart()方法 我怎样才能做到这一点呢?试试你的AndroidManifest.xml <activity android:launchMode="singleTop"> 关于你的主要活动我

我有一个服务
S
,它在引导完成后立即启动。我有一个带有一个活动的应用程序,它在应用程序启动时绑定到服务
S

现在我已经为某个事件注册了一个广播接收器,因此如果该事件发生,我应该启动相同的活动。我不希望创建同一个活动的另一个实例,我希望重用活动,但是应该调用活动的
onCreate()
onRestart()
方法


我怎样才能做到这一点呢?

试试你的
AndroidManifest.xml

<activity android:launchMode="singleTop">


关于你的主要活动

我不是100%肯定你的问题,但我们开始吧。您可以尝试在mainactivity中使用静态方法,并从服务调用它

在您的主要活动中:

  @Override
public void onCreate() {
    super.onCreate();
    superAwesomeMethod();

public static void superAwesomeMethod() {
    //stuff you want called on onCreate
然后为您服务:

//event listener capture
YourActivityName.superAwesomeMethod();

如果你想了解意图,那就去做吧


它非常清晰,并且附带的演示应用程序非常有用。

如果这个答案对您有帮助,您应该接受它。单击答案旁边的绿色复选标记。