android 如何实现无启动界面和应用图标的

最近在做这样一个功能,部署应用到手机上要求实现无应用图标和无启动页面,只需要一个后台service就行了。后经百般思索和google,想到一种解决方案。实现思路,单纯的一个service做启动页,android新的api貌似不支持了,于是通过传统的发送广播启动service方案被否定了,于是就想到还是用到activity只是不让它显示界面,然后在activity里面启动后台service,鄙人技术水平有限,勿喷。如下:

1. 实现无应用图标。

 <intent-filter>
   <action android:name="android.intent.action.MAIN"/
   <category android:name="android.intent.category.LAUNCHER"/>
    <data
        android:scheme="com.xx.aa"/>
 </intent-filter>

<intent-filter> 加入<data android:scheme="com.xx.aa"/>

注意:android:scheme是大小写敏感的,必须以小写字母开头
也就是这个MainActivity可以响应Uri为com.android.example://AuthActivity的特定 Intent
但是为什么加入这个之后app就不显示图标了呢?
因为我们把app的入口Activity申明为由接收隐士的Intent来启动,这样自然也就不会显示图标了。
如果需要显示图标的话而且也必须响应上述Uri的话,那么我们可以在该Activity中再加入一个intent-filter标签,将data元素移到新建的标签中。
这样应用既可以显示图标又可以响应特定的Uri了。

2. 实现无启动界面

首先需要注释掉

//        setContentView(R.layout.activity_main);

然后需要在主activity里面

  <activity
            android:name=".MainActivity"
            android:theme="@android:style/Theme.NoDisplay"
            >

添加@android:style/Theme.NoDisplay 这个主题。

然后就是你启动你的后台Service了startService(new intent(this,xxx.class));

最后运行,如果报以下错误:

You need to use a Theme.AppCompat theme (or descendant) with this activity
......

你只需要修改你的Mainactivity 继承的AppCompatActivity
改为继承自 Activity即可。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值