AutoMinimize Activity Demo

Description:
This example of will allows us to minimize currently running activity and will notify about the activity status on notification bar.
Algorithm:

1.) Create a new project by File-> New -> Android Project name it AutoMinimizeDemo.
2.) You will see some default code into your main.xml, strings.xml and android manifest file.
3.) Now add 2 buttons into your main.xml or write following into main.xml file:

 

android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<button> android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Start">

</button>

<button> android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Stop">
</button>

 

 

4.) Your launcher activity AutoMinimizeDemo will have two functions OnCreate() and ShowNotification..

Steps:

1.) Create a project named AutoMinimizeDemo and set the information as stated in the image.

Build Target: Android 1.6
Application Name: AutoMinimizeDemo
Package Name: com.example. AutoMinimizeDemo
Activity Name: AutoMinimizeDemo
Min SDK Version: 4

2.) Open AutoMinimizeDemo.java file and write following code there:

 

package com.example.AutoMinimizeDemo;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class AutoMinimizeDemo extends Activity {
private NotificationManager mNM;
Intent notificationIntent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notificationIntent = new Intent(this, AutoMinimizeDemo.class);
Button startButton = (Button) findViewById(R.id.start);
startButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showNotification();
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
});

Button stopButton = (Button) findViewById(R.id.stop);
stopButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
mNM.cancelAll();
finish();
}
});
}

private void showNotification() {
CharSequence text = "Activity is minimized";
Notification notification = new Notification(R.drawable.icon, text, System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,new Intent(this, AutoMinimizeDemo.class), 0);
notification.setLatestEventInfo(this, "Auto MinimizeDemo","Running", contentIntent);
notification.flags = Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR;
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

mNM.notify(1, notification);
}
}

 

 

3.) Compile and build the project.

4.) Run on 1.6 simulator for the output.

5.) As soon as you click on Start button activity will be minimized and you will be on device’s home screen.

6.) You will be able to see a notification message on notification bar.

7.) When you click on notification message activity will be resumed.

On clicking Stop button the notification will be stopped and demo app will be closed.

Output

Leave a Comment:

4 comments
Harsh says October 1, 2011

above code give me error as stop activity unexpectedly.
pls tell how to solve it.

Reply
kuldip says June 20, 2012

Thanks,
its really useful code for the application that i m developing.. it is a good example and simple to learn.

Reply
kuldip says June 20, 2012

Thanks,
its useful code for the application that i m developing.. it is a good example and simple to learn.

Reply
Henrik says November 26, 2012

Thank you! 🙂

Reply
Add Your Reply