- Stopping Android service
- public class ServicedownloadActivity extends Activity implements
- OnClickListener {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- b1 = (Button) findViewById(R.id.button1);
- b2 = (Button) findViewById(R.id.button2);
- b1.setOnClickListener(this);
- b2.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- if (v.getId() == R.id.button1) {
- Intent intent = new Intent(ServicedownloadActivity.this,
- Myclass.class);
- startService(intent);
- }
- if (v.getId() == R.id.button2) {
- Intent intent = new Intent(ServicedownloadActivity.this,
- Myclass.class);
- stopService(intent);
- }
- }
- }
- public class Myclass extends Service {
- URLConnection connection;
- private final Random mGenerator = new Random();
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
- public int getRandomNumber() {
- return mGenerator.nextInt(100);
- }
- @Override
- public void onCreate() {
- super.onCreate();
- Log.d("df", "From oncreate");
- Toast.makeText(this, "on create", Toast.LENGTH_SHORT).show();
- }
- class DownloadWebPageTask extends AsyncTask<String, String, String> {
- String responseTextt;
- NotificationManager notificationManager;
- Notification notification;
- CharSequence contentText;
- Context context;
- CharSequence contentTitle;
- PendingIntent contentIntent;
- int HELLO_ID = 1;
- long time;
- int icon;
- CharSequence tickerText;
- public void downloadNotification() {
- String ns = Context.NOTIFICATION_SERVICE;
- notificationManager = (NotificationManager) getSystemService(ns);
- icon = R.drawable.ic_launcher;
- tickerText = "Downloading...";
- time = System.currentTimeMillis();
- notification = new Notification(icon, tickerText, time);
- context = getApplicationContext();
- contentTitle = "Your download is in progress";
- contentText = "0% complete";
- Intent notificationIntent = new Intent(Intent.ACTION_VIEW);
- notificationIntent.setType("audio/*");
- contentIntent = PendingIntent.getActivity(context, 0,
- notificationIntent, 0);
- notification.setLatestEventInfo(context, contentTitle,
- contentText, contentIntent);
- notificationManager.notify(HELLO_ID, notification);
- }
- @Override
- protected String doInBackground(String... urls) {
- try {
- Log.d("trys:", "try");
- URL url = new URL(
- "http://www.zapiture.com/resources/IMG_6812.JPG");
- connection = url.openConnection();
- connection.connect();
- int fileLength = connection.getContentLength();
- InputStream input = new BufferedInputStream(url
- .openStream());
- OutputStream output = new FileOutputStream(Environment
- .getExternalStorageDirectory()
- + "/img23.jpg");
- byte data[] = new byte[1024];
- long total = 0;
- int count;
- int previousProgress = 0;
- while ((count = input.read(data)) != -1) {
- total += count;
- if ((int) (total * 100 / fileLength) > previousProgress) {
- previousProgress = (int) (total * 100 / fileLength);
- publishProgress(""
- + (int) (total * 100 / fileLength));
- output.write(data, 0, count);
- }
- }
- output.flush();
- output.close();
- input.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- @Override
- protected void onPreExecute() {
- downloadNotification();
- super.onPreExecute();
- ;
- }
- @Override
- public void onProgressUpdate(String... progress) {
- contentText = Integer.parseInt(progress[0]) + "% complete";
- notification.setLatestEventInfo(context, contentTitle,
- contentText, contentIntent);
- notificationManager.notify(HELLO_ID, notification);
- super.onProgressUpdate(progress);
- }
- }
- @Override
- public void onStart(Intent intent, int startId) {
- // TODO Auto-generated method stub
- super.onStart(intent, startId);
- Log.d("sf", "On Start");
- Toast.makeText(this, "on start", Toast.LENGTH_SHORT).show();
- DownloadWebPageTask task = new DownloadWebPageTask();
- task.execute();
- }
- @Override
- public void onDestroy() {
- stopSelf();
- super.onDestroy();
- Log.d("df", "From on Destroy");
- Toast.makeText(this, "on destroy", Toast.LENGTH_SHORT).show();
- }
- }
- task.cancel(true);
- @Override
- public void onDestroy() {
- task.canel();
- super.onDestroy();
- }