如何从我在 Android 的服务中运行的 switch case 开始新的活动?

Posted

技术标签:

【中文标题】如何从我在 Android 的服务中运行的 switch case 开始新的活动?【英文标题】:How can I start a new activity from a switch case I run inside a Service in Android? 【发布时间】:2021-09-19 22:31:05 【问题描述】:

您好,我尝试构建一个 android 应用程序。我有一个调用意图服务的活动。在服务内部,我实现了一个开关盒。我的想法是在一种情况下调用一个活动来做一些谷歌地图的事情,而在另一种情况下调用另一个活动。

有可能吗?我该怎么做?

【问题讨论】:

通过你的问题,我能理解的是,你想根据不同的情况从 switch case 中调用两个不同的活动,对吧? 是的,来自服务内的开关盒,而不是活动。 【参考方案1】:

您可以像在活动类中一样在服务类中使用 startActivity 方法打开活动。

例子:

Intent intent;

switch(action)

    case 1:
        intent = new Intent(context, ActivityOne.class);
        break;
    

    case 2:
        intent = new Intent(context, ActivityTwo.class);
        break;
    



if (intent != null) 
    startActivity(intent);

简而言之

switch(action)

    case 1:
        startActivity(new Intent(context, ActivityOne.class));
        break;
    

    case 2:
        startActivity(new Intent(context, ActivityTwo.class));
        break;
    


【讨论】:

终于成功了。所以对于其他人:你应该添加 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)。

以上是关于如何从我在 Android 的服务中运行的 switch case 开始新的活动?的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的 Android 代码在 web 视图中运行 React JS 函数?

Android:当我在 Sql server 中将状态更改为 false 时,如何从我的应用程序中自动注销?

如何从我的 Android 设备直接在 Helix 服务器上录制视频?

推送通知技术如何在 Android 上运行?

在 Swi-prolog 中增加运行时的堆栈大小

运行查询以从大查询中获取事件计数