在 Android 中从服务启动 Activity

新手上路,请多包涵

安卓:

 public class LocationService extends Service {

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

我从 Activity 启动了这项服务

Activity 如果条件满足开始

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

从我的 LocationService 上面提到的无法启动 Activity ,我怎样才能获得当前运行的上下文 Activity 在服务类?

原文由 d-man 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 987
2 个回答

从服务类内部:

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

但是,由于电池优化限制,这不适 Android 10 +

原文由 d-man 发布,翻译遵循 CC BY-SA 4.0 许可协议

清单中的 SYSTEM_ALERT_WINDOW.requrid 权限,并从移动设置手动启用它从 android 10+ 开始的工作。

原文由 t4truth 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题