Android后台服务无法返回当前启动的应用程序。JavaAndroid版本11。
创始人
2024-10-08 06:32:35
0

可以使用广播来解决这个问题,当应用程序在前台时,它将发送一个广播,然后在您的后台服务中接收该广播。在接收到广播后,您可以存储当前应用程序的包名,然后在需要时获取它。

以下是一个示例:

在应用程序中发送广播

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 发送广播到后台服务
        Intent intent = new Intent();
        intent.setAction("com.example.app.ForegroundApp");
        intent.putExtra("packageName", getPackageName());
        sendBroadcast(intent);
    }
}

在后台服务中接收广播

public class MyService extends Service {

    private String foregroundApp = "";

    private BroadcastReceiver foregroundAppReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            // 获取前台应用程序的包名
            foregroundApp = intent.getStringExtra("packageName");
        }
    };

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // 注册接收前台应用程序广播
        IntentFilter filter = new IntentFilter();
        filter.addAction("com.example.app.ForegroundApp");
        registerReceiver(foregroundAppReceiver, filter);

        // 执行后台任务
        // ...

        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    public void onDestroy() {
        // 注销广播接收器
        unregisterReceiver(foregroundAppReceiver);

        super.onDestroy();
    }
}

在需要时获取前台应用程序的包名

public void doSomething() {
    ActivityManager.RunningTaskInfo foregroundTaskInfo = activityManager.getRunningTasks(1).get(0);
    String foregroundApp = foregroundTaskInfo.topActivity.getPackageName();
}

相关内容

热门资讯

推荐十款!wepoker私人局... 您好,wepoker私人局辅助挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】...
玩家必看秘籍!hhpoker是... 玩家必看秘籍!hhpoker是内部控制吗,wepoker透视最简单三个步骤,黑科技教程(有挂技巧);...
发现一款!wepoker智能辅... 1、发现一款!wepoker智能辅助插件,wepoker辅助透视,扑克教程(有挂攻略)2、进入游戏-...
分享开挂内幕!aapoker如... 分享开挂内幕!aapoker如何设置胜率,wpk俱乐部辅助器,技巧教程(有挂软件)是由北京得aapo...
推荐十款!哈糖大菠萝怎么开挂,... 推荐十款!哈糖大菠萝怎么开挂,sohoopoker辅助,必备教程(有挂神器)科技教程也叫必备教程,这...
一分钟揭秘!德州透视插件,hh... 一分钟揭秘!德州透视插件,hhpoker一直输有挂吗,黑科技教程(有挂方法)是一款可以让一直输的玩家...
实测揭晓!wepoker安装教... 实测揭晓!wepoker安装教程,德州辅助工具到底怎么样,攻略方法(有挂辅助)准备好在德州辅助工具到...
重大推荐!pokemmo辅助脚... 重大推荐!pokemmo辅助脚本,pokemmo脚本辅助器下载,我来教教你(有挂辅助)1、许多玩家不...
最新通报!cloudpoker... 最新通报!cloudpoker怎么开挂,wpk透视辅助,新版2025教程(有挂攻略);《WPK辅助透...
玩家必备教程!wepoker数... 玩家必备教程!wepoker数据分析,wepoker辅助器下载,德州教程(有挂透明);1分钟了解详细...