Xml
<LinearLayout xmlns:android="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Notification"
android:layout_gravity="center"
android:id="@+id/btn_start"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop Notification"
android:layout_gravity="center"
android:id="@+id/btn_stop"/>
</LinearLayout>
MainActivity
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends Activity implements OnClickListener{
Button btnstart,btnstop;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
btnstart=(Button)findViewById([Link].btn_start);
[Link](this);
btnstop=(Button)findViewById([Link].btn_stop);
[Link](this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate([Link], menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if([Link](btnstart))
{
Intent it=new Intent(this,[Link]);
Bundle b=new Bundle();
[Link]("stop", true);
[Link]("data", b);
startService(it);
}
else
{
Intent it=new Intent(this,[Link]);
stopService(it);
}
}
}
ServiceClass
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class ServiceClass extends Service{
boolean running=false;
MyThread thread;
public void onCreate()
{
[Link]();
[Link](getBaseContext(), "Service Created",
Toast.LENGTH_LONG).show();
running=true;
thread=new MyThread();
[Link]();
}
public int onStartCommand(Intent intent, int flags,int startId)
{
[Link](intent, flags, startId);
[Link](getBaseContext(), "Service started",
Toast.LENGTH_LONG).show();
Bundle b=[Link]("data");
running=[Link]("stop");
if(![Link]())
{
thread=new MyThread();
[Link]();
}
return Service.START_NOT_STICKY;
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onDestroy()
{
running=false;
[Link](getBaseContext(), "Service stoped",
Toast.LENGTH_LONG).show();
[Link]();
}
Handler hand=new Handler()
{
public void handleMessage(Message m)
{
NotificationManager
manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
[Link] builder=new
[Link](getBaseContext());
[Link]("From Service");
[Link]("Hi 1DA19CS173 Suresh S " +[Link]);
[Link]([Link].ic_launcher_background);
[Link]([Link](getBaseContext(), 1,
new Intent(getBaseContext(),[Link]),0));
Notification nof=[Link]();
[Link](100, nof);
}
};
class MyThread extends Thread
{
public void run()
{
int i=0;
while(running)
{
try {
[Link](5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
[Link]();
}
[Link](i++);
}
}
}
}
manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="[Link]
xmlns:tools="[Link] >
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/[Link]"
tools:targetApi="31" >
<activity
android:name=".MainActivity"
android:exported="true" >
<intent-filter>
<action android:name="[Link]" />
<category android:name="[Link]"
/>
</intent-filter>
<meta-data
android:name="[Link].lib_name"
android:value="" />
</activity>
<service android:name="ServiceClass"></service>
</application>
</manifest>