android如何从服务启动活动?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我在安卓中的代码如下:

public class LocationService extends Service {

@Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        startActivity(new Intent(this, activity.class));
    }
}

我从此推出了此服务 Activity:

startService(new Intent(WozzonActivity.this, LocationService.class));

我怎么能获得当前Activity在服务类中运行的上下文?

提问于
用户回答回答于

你可以从Service类中来进行尝试:

Intent dialogIntent = new Intent(this, MyActivity.class);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(dialogIntent);
用户回答回答于

我有同样的问题,并想让你知道以上都不适合我。对我有效的是:

 Intent dialogIntent = new Intent(this, myActivity.class);
 dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 this.startActivity(dialogIntent);

并在我的一个子类中,存储在一个单独的文件中,就可以进行下面的尝试:

public static Service myService;

myService = this;

new SubService(myService);

Intent dialogIntent = new Intent(myService, myActivity.class);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
myService.startActivity(dialogIntent);

扫码关注云+社区