如何实现无界面Android app

无界面Activity或者APP的实现 最近在做一个谷歌语音调用APP设置闹钟的Issue,查看官方文档发现谷歌语音发送Intent给App时需要启动一个Activity,能不能使用Service或者广播去接收Intent呢?答案是不行的,使用普通的Activity有一个问题:每次语音发送Intent给APP的Activity的时候都要启动一次Activity,并且在无法接收到来自Activity的返回信息时,谷歌语会不断发送Inten... 阅读详情
AI摘要

本文介绍如何创建一个无界面的Android应用,通过设置MainActivity为不显示,并启动后台Service来实现。主要内容包括AndroidManifest.xml配置、MainActivity及MyService的实现。

前言

在Android开发中,可能会遇到只需要在后台运行服务,不需要界面的情况,接下来说一下如何实现无界面APP。

代码实现

AndroidManifest.xml

将AndroidManifest.xml的主activity配置为不展示模式:

android:theme="@android:style/Theme.NoDisplay"

然后添加需要运行的service:

<service android:name=".MyService"/>

以下为完整示例代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.serviceapp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <!--设置activity为不显示-->
        <activity
            android:name=".MainActivity"
            android:theme="@android:style/Theme.NoDisplay"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name=".MyService"/>
    </application>

</manifest>

MainActivity.java

在MainActivity中启动需要运行的service,如下为示例代码:

package com.example.serviceapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //启动service
        Intent service = new Intent(MainActivity.this, MyService.class);
        MainActivity.this.startService(service);
    }

    //8.0以上手机需要添加此代码才能正常运行
    public void onResume() {
        super.onResume();
        finish();
    }
}

MyService.java

编写需要运行的service的代码,以下为示例代码,service运行过程中打印日志,便于观察service是否正常运行:

package com.example.serviceapp;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class MyService extends Service {
    public MyService() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        Log.v("Jason", "MyService onBind");
        return null;
    }

    @Override
    public void onCreate() {
        Log.v("Jason", "MyService onCreate");
        super.onCreate();
    }

    @Override
    public void onStart(Intent intent, int startId) {
        Log.v("Jason", "MyService onStart");
        super.onStart(intent, startId);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.v("Jason", "MyService onStartCommand");
        ExecutorService threadPool = Executors.newCachedThreadPool();
        threadPool.execute(new Runnable() {
            @Override
            public void run() {
                int time = 0;
                while(true) {
                    Log.d("Jason", "time:" + time);
                    try {
                        Thread.sleep(10000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    time++;
                }
            }
        });

        return super.onStartCommand(intent, flags, startId);
    }
}
uni-app打包成安卓app步骤详解 前置: 开发环境 Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区 HBuilderX App离线SDK下载:最新android平台SDK下载 3.1.10版本起需要申请Appkey,具体请点击链接 正文: 通过uni-app实现一套代码在微信小程序和安卓端app同时适配 1.创建文件 创建Demo文件,采用uni-app 模板 2.创建应用 在https://dev.dcloud.net.cn/app页面创建相同名称的应用,并且获取 阅读详情

相关推荐

Android实现无界面Android app类似提供某些服务功能 (附完整源码)

Android实现无界面Android app类似提供某些服务功能 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 622

andriod无界面app开发

android无界面app开发

aaliliaa的博客 1364

Android Service无图标/界面独立运行

1、startService开启服务以后,与activity就没有关联,不受影响,独立运行,需要stopService关闭,否则Activity移除栈后将一直运行(kill杀不死). 2、bindService开启服务以后,与activity存在关联,退出activity时必须调用unbindService方法关闭,否则会报ServiceConnection泄漏的错误.

AndroidManifest.xml文件注册ACTIVITY,确定以个MAINACTIVITY

ANDROID:LABEL给以个标题名 &lt;action android:name="android.intent.action.MAIN"/&gt;确定ACTIVITY是以个MAIN的活动 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;manifest xmlns:android="http://schemas.android.com/.

qq_36592247的博客 3452

Zemax实战:手把手教你设计一个40倍、NA0.65的显微物镜(附初始结构文件)

本文详细介绍了使用Zemax设计40倍、NA0.65显微物镜的完整流程,从初始结构搭建到优化验证,涵盖光学设计的关键技巧和实战经验。通过分阶段优化策略和公差分析,帮助工程师快速掌握高倍显微物镜的设计方法,提升光学系统性能。

weixin_42525369的博客 342

VSCode 1.85便携版安装与配置:解决远程服务器glibc版本过低报错的保姆级指南

本文详细介绍了如何通过VSCode 1.85便携版解决远程服务器glibc版本过低导致的兼容性问题。通过环境隔离和版本固化的方法,开发者可以在老旧服务器上稳定运行Remote-SSH插件,同时保留主力VSCode的配置。文章提供了从下载安装到深度配置的完整指南,帮助用户快速搭建稳定的开发环境。

weixin_30279315的博客 576

Android实现无界面Android app类似提供某些服务功能(附带源码)

Android实现无界面Android app类似提供某些服务功能(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1312

单片机技术入门与实战:从零基础到项目开发

单片机(MCU)作为嵌入式系统的核心组件,集成了CPU、内存和各种接口电路,广泛应用于智能家居、工业控制和汽车电子等领域。其工作原理基于实时控制和低功耗设计,通过定时器、中断系统和通信接口等功能模块实现各种控制任务。在物联网和智能硬件快速发展的背景下,掌握单片机开发技术成为电子工程师的重要技能。本文以STM32和PIC系列为例,详细解析单片机的基本概念、功能模块和选型指南,并分享从入门到项目实战的系统学习方法,帮助开发者在3-6个月内快速掌握这一关键技术。

weixin_35753291的博客 652

Android实现无界面无图标App最简单的方式

背景: 有时候你的app只需要一个服务来做一些辅助功能,需要实现以下两个特点: 没有界面 图标在不桌面上显示 两步走: 1、 MainActivity声明中去掉category: <activity android:name=".MainActivity"> <intent-filter> ...

侠亦狐的博客 1万+

芯片详解——AD7606

AD7606详解

weixin_45661757的博客 5020

基于FISCO BCOS 部署可升级的 Solidity存证智能合约

本文介绍了基于FISCOBCOS平台的可升级Solidity存证智能合约实现方案。采用透明代理模式,包含逻辑合约、代理合约和管理合约三部分,支持业务逻辑升级而不影响存储数据。详细阐述了合约架构设计、Solidity代码实现、Go SDK交互流程以及完整的部署升级步骤。方案具有数据持久性、版本兼容性和生产就绪等特点,提供了权限控制、输入验证等安全机制,并包含监控管理工具。该实现为企业级区块链存证应用提供了可靠的基础架构,支持后续功能扩展和定制化开发。

分享AI、区块链技术及应用,未来已来 1513

无界面安卓app

无界面的app(对于非系统的应用没有activity无法启动service),但可以使用主题 @android:style/Theme.NoDisplay 来隐藏Activity达到无界面的app效果。 (http://zhidao.baidu.com/link?url=Knchb3CqJsr6Wfi6gd1xR-MXxn_7NqOrKwS -C1B74kEGiWIxv_UsPCLikZt5

qq_22232431的博客 6504

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

伶俐角少儿编程 466

【Android】App与App之间的交互

App与App之间的交互知识点分析:一. 插件App:(一)修改activity的清单文件完整的代码如下:(二)对插件activity下手(三)打包这个插件并安装到手机上面,安装完成之后只能在系统的应用管理界面才能找到==重点是在插件的回调中,一定要先 setResult(int resultCode, Intent data)的后面马上调用finish(),而且不能在其之前调用finish()=...

chy_sky的博客 1830

【深度学习新浪潮】AI 智能眼镜关键视觉技术、技术栈及开源项目全解析

Meta新款智能眼镜在演示中暴露出的AI误判和延迟问题,揭示了端侧视觉与多模态算法落地的核心瓶颈。本文从算法工程视角解析了AI智能眼镜的三大关键技术:感知增强(多帧降噪、HDR成像)、场景解析(轻量化目标检测、语义分割)和空间定位(视觉SLAM、ToF辅助),并梳理了完整的技术栈架构,包括硬件适配、驱动优化和框架选型。文章还提供了高价值开源项目参考,如OpenXR和ORB-SLAM3,为端侧视觉算法落地提供实操指南,助力开发者攻克算力约束下的实时性、精度和功耗平衡难题。

专注:太空算力、AI infra、异构调度、大模型成本工程 530

微信小程序推广策略,打开小程序领域流量大门

本文旨在为小程序开发者、运营者和企业主提供一套完整的微信小程序推广策略体系,帮助他们在竞争激烈的小程序生态中获得更多流量和用户。内容涵盖从0到1的冷启动策略,到成熟期的增长技巧。本文将首先介绍小程序的基础推广设置,然后深入探讨各种流量获取渠道,接着分析数据驱动的优化方法,最后展望未来发展趋势。小程序:无需下载安装即可使用的应用,运行在微信生态内:独立访客数:页面浏览量转化率:完成目标行为的用户比例留存率:用户在一定时间后仍活跃的比例自然流量获取:通过优化搜索、完善资料等方式获得基础流量社交裂变。

小程序开发 1031

android 拨号启动秘密app 无界面 receiver

至少在API=8,android还是支持无界面app的,比如一个app只有一个receiver,实现特定的功能;但到至多android 4.0已经默认不支持这样只有一个receiver的app了,即app必须具有activity,至于系统内置的无activity的app如何配置的,我还不清楚,但大部分情况下,android应该不允许无activity视图的app的receiver运行的,像接下来要

539

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android 使用暗码启动App

Android 使用暗码启动App      暗码,比如*#06#查看手机IMEI号。*#06#就是一个暗码。    我们可能有时会有这样的需求,比如我想通过手机拨号来启动一个内置无界面的app(假设拨*#*#6636#*#*),那该如何实现?   既然暗码是点击拨号按钮启动的,那么肯定是在源码Dialer 中通过全局广播形式发给其他内置app的,废话不多说,进入Diale

天山一客 的专栏 2579

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android开机启动无界面后台程序【转】

来自:http://blog.youkuaiyun.com/mirkerson/article/details/17612325 一个安卓小程序,这个程序没有界面,也不会在桌面创建应用程序图标 当然,在“设置”中的应用程序管理是可以看到的,也可以把这个应用程序删除 简单的说,这是一个没有界面的后台运行的应用程序 而且,还有一功能:开机自启动,启动运行一个服务 程序

shareinfo2018 1939

基于安卓android studio 的 菜谱食谱APP设计

一 项目概述 菜谱APP或者食谱APP 是基于安卓开发的一个APP,项目包含前台安卓端和后台管理系统,前台安卓端可以进行 查看推荐菜谱,菜谱搜索,收藏菜品 ,菜品排行榜,菜品详情,个人中心,基本信息,登录,注册等功能,后台管理系统主要维护菜品,维护前台注册的用户。东西非常多。 二 项目开发工具和技术 开发工具使用android studio 后台服务开发 idea或者eclipse 模拟器:逍遥 夜神或者雷电模拟器 三 项目功能结构图 四 项目开发实现 菜谱首页效果: 首页包含顶部导航,菜品分类 ,

coder1998的博客 3万+

Android(安卓)APP渗透测试-总结

文章目录基础知识安卓系统目录结构组件基础APK目录结构ADB使用Drozer客户端安全测试反编译测试(脱壳与混淆)脱壳回编译测试本地敏感信息存储四大组件安全本地注入动/静态扫描安全的通信方式HOOK开源移动端扫描工具APP安全在线检测系统服务端渗透测试SSL证书抓包问题安装证书问题证书校验问题 前言:这是一份资料整理,不是一份教程,教程在“心中”。 很多时候对产品进行测试,但是总会遇到一些重复的问题,后来发现大部分时间都花在问题检索和筛选上了(检索五分钟,测试一分钟),因此有了这份总结。学会把时间花费在有意

H5oSir 2万+

win11怎么安装安卓app win11上安装安卓app的步骤教程

微软win11最为亮眼的就是windows系统终于可以兼容原生安卓app了,但是很多安装了win11的朋友发现安装不了安卓app,今天小编来跟大家说说win11安装安卓app的步骤教程吧,更多win11教程可以参考小白刷机网 win11安装安卓app的步骤如下: 升级了win11系统后,首先需要在自己电脑安装一个名为 “ Windows Subsystem for AndroidTM with Amazon Appstore ” 的东西。 它包含两个软件,分别是 Windows Subsystem

qq_29508575的博客 6万+

【Android】5+APP 打包安卓

使用HTML5 PLUS 结合安卓进行安卓APP的开发 使用工具: HBuilderX Android Studio App离线SDK 使用技术 Android 开发知识(java基础知识等) 网页开发知识(html、css、js、jquery等) 文章目录使用HTML5 PLUS 结合安卓进行安卓APP的开发基本步骤:1. 创建 本地安卓项目2. 在HBuilder中创建H5+ 项目3. 将创建的5+APP项目打包配置到Android项目中4. 使用Android studio打包程序

冷芝士鸭的学习笔记 5244

android 无界面service编程

Android 创建单独的服务运行在后台(无界面) https://blog.youkuaiyun.com/qq503690160/article/details/78859685 Android实现无界面无图标App最简单的方式 https://blog.youkuaiyun.com/qq_35584878/article/details/100553769?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.ch

az44yao的专栏 1493
上一篇: 查看安卓手机文件系统方法
下一篇: 如何实现Android app开机自启动
Jason_Flash
博客等级 码龄7年 1万+粉丝 51原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值