首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android隐藏应用程序

Android隐藏应用程序
EN

Stack Overflow用户
提问于 2013-01-08 05:55:34
回答 4查看 46.3K关注 0票数 24

我在写一个(合法的)间谍程序。我想让这个程序隐藏在启动器上(这样就不会显示图标)。我试图从AndroidManifest.xml中删除<category android:name="android.intent.category.LAUNCHER" />行,但之后用户无法在首次启动模式(配置)下启动应用程序。谁有什么想法?

我该怎么做呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-08 06:05:36

你需要将你的应用程序变成一项服务。下面是Androids创建服务组件的过程:

http://developer.android.com/guide/components/services.html

在MobiWare上也找到了这个:

当您想要跟踪手机的使用情况或在用户不知情的情况下收集一些数据时,这可能会对您有所帮助。

Step1:创建一个没有图标的应用程序。通常,在清单中按如下方式声明活动。

代码语言:javascript
复制
     <activity
        android:label="@string/app_name"
        android:name="org.security.tracker.Tracker-activity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

去掉Category标签,你再也看不到应用程序图标了。现在,你不再需要活动了。所以删除这段代码。BUt你可能会想,应用程序将如何在没有任何触发器的情况下运行,或者应用程序的起点是什么。这就是解决方案。

代码语言:javascript
复制
<!-- Start the Service if applicable on boot -->
    <receiver android:name="org.security.tracker.ServiceStarter" >
        <intent-filter >
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

这会触发你在Receiver中编写的代码,你可以运行服务来实现你的想法。

代码语言:javascript
复制
 <service android:name="org.security.tracker.serviceCode" />

您需要添加此权限,

代码语言:javascript
复制
 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

您的代码仅在电话重新启动时运行。

步骤2.编写代码

在重新启动时,接收器将启动,您可以在那里启动您的服务。

代码语言:javascript
复制
class ServiceStarter extends BroadcastReceiver {

@Override
public void onReceive(Context _context, Intent _intent) {

    Intent i = new Intent("com.prac.test.MyPersistingService");
    i.setClass(_context, ServiceCode.class);
    _context.startService(i);
  }

 }
票数 35
EN

Stack Overflow用户

发布于 2017-07-31 18:05:49

您可以从AndroidManifest.xml文件中删除<category android:name="android.intent.category.LAUNCHER"/>

但请记住添加<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>,以便Android studio能够编译您的应用程序(但对启动程序隐藏) :) :D

票数 4
EN

Stack Overflow用户

发布于 2013-01-08 06:09:55

删除

代码语言:javascript
复制
<intent-filter >
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>

从清单文件中

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14204720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档