Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android hidden application

Tags:

I'm writing a (legal) spy program. I want to make this program hidden on the launcher (so that no icon is shown). I tried to remove <category android:name="android.intent.category.LAUNCHER" /> line from AndroidManifest.xml, but then the user can't launch the application in first start mode (configuration). Who have any ideas ?

How can I do it?

like image 828
TN888 Avatar asked Jan 07 '13 21:01

TN888


People also ask

Can you have a hidden app on Android?

Open the App Drawer (the page that shows all your apps) by swiping up from the bottom of the screen. Tap the three dots in the top right corner, then select Settings. Select Hide Apps from the menu that appears. You'll see a list of all your app appear, go through and select the ones you want to hide.

What is hidden application?

It's the scrollable display of apps that you get when you swipe up on your phone's home screen or tap the app drawer icon at the bottom. From here, you can hide and unhide apps on some Android systems via the menu button—it usually looks like three dots or a gear icon.


1 Answers

You need to make your app into a service. Here is Androids take on creating services components:

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

Found this as well on MobiWare:

When you want to track the usage of the mobile or gather some data without user knowledge,this might help you.

Step1: Create an application with No icon. Normally,an activity is declared as follows in manifest.

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

Remove the Category TAG ,you wont get app icon anymore. Now,you don't need activity anymore. so remove this segment. BUt you might think,how the app will run without any trigger or what is the starting point of the application. This is the solution.

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

This triggers your code that written in Receiver there by you can run service to implement your thoughts.

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

You need to add this permission,

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

Your code runs when the phone reboots only.

Step 2. Write your code

On Reboot,the recevier will fire ,there you can start your service.

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);   }   } 
like image 51
apollosoftware.org Avatar answered Oct 06 '22 07:10

apollosoftware.org