Android的隐藏的应用程序(Android hidden application)

2019-07-17 23:12发布

我正在写一个(法律)Spy程序。 我想使这个程序中隐藏的启动器(使没有显示图标)。 我试图删除<category android:name="android.intent.category.LAUNCHER" />线从AndroidManifest.xml ,但随后的用户不能够在第一起动模式(配置)中的应用。 谁有什么想法?

我该怎么做?

Answer 1:

你需要让你的应用程序到服务。 这里是机器人会采取创建服务组件:

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

发现这个以及上MobiWare:

当你想跟踪移动的使用或收集在用户不知情的一些数据,这可能会帮助你。

第一步:创建一个没有图标的应用程序。 通常情况下,一个活动被声明为在清单如下。

     <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>

删除分类标签,你不会得到应用程序图标了。 现在,你不需要再活动。 所以删除此片段。 但你可能会认为,应用程序将如何没有任何触发或者什么是应用程序的起点上运行。 这是解决方案。

<!-- 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>

这会触发你的代码写在接收器那里通过,您可以运行服务来实现你的想法。

 <service android:name="org.security.tracker.serviceCode" />

您需要添加此权限,

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

你的代码的时候,手机只能重新启动运行。

第2步:编写代码

在重新启动时,recevier会火,有你就可以开始你的服务。

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);
  }

 }


Answer 2:

去掉

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

从清单文件



Answer 3:

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

但记得要加<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>让Android的工作室将能够编写你的应用程序(从启动又隐藏):):d



文章来源: Android hidden application