Android Open Source - wiki-contacts-android Intent Service Impl






From Project

Back to project page wiki-contacts-android.

License

The source code is released under:

Apache License

If you think the Android project wiki-contacts-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.kahkong.wikicontacts.service;
/*ww w .  j av a2  s  . c o m*/
import java.io.FileNotFoundException;
import java.io.InputStream;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
import android.os.Parcelable;

/**
 * 
 * @author Poh Kah Kong
 *
 */
public class IntentServiceImpl implements IntentService {
  private static IntentService instance;

  private Activity activity;

  private IntentServiceImpl() {  
  }

  public synchronized static IntentService getInstance() {
    if (instance==null) {
      instance = new IntentServiceImpl();
    }
    return instance;
  }

  public void setActivity(Activity activity) {
    this.activity = activity;
  }
  
  public void startActivity(Class<?> cls) {
    startActivityWithParcelable(cls, null, null);
  }

  public void startActivityWithParcelable(Class<?> cls, String[] name, Parcelable[] extra) {
    Intent intent = new Intent(activity, cls);
    if (extra!=null) {
      for (int i=0; i<extra.length; i++) {
        intent.putExtra(name[i], extra[i]);      
      }
    }
    activity.startActivity(intent);      
  }

  public void startService(Class<?> cls) {
    Intent intent = new Intent(activity, cls);
    activity.startService(intent);
  }

  public void stopService(Class<?> cls) {
    Intent intent = new Intent(activity, cls);
    activity.stopService(intent);
  }

  public void startCallActivity(String number, String countryCode) {
    Intent intent = new Intent(Intent.ACTION_CALL);
    Uri data = Uri.parse("tel:+" + countryCode + number);
    intent.setData(data);
    activity.startActivity(intent);
  }
  
  public void startImageChooserActivity(int requestCode) {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        activity.startActivityForResult(intent, requestCode);    
  }
  
  public InputStream getActivityResultInputStream(Intent data) {
    try {
      return activity.getContentResolver().openInputStream(data.getData());
    } catch (FileNotFoundException e) {
      e.printStackTrace();
      return null;
    }    
  }

  public void startUrlActivity(String url) {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri data = Uri.parse(url);
    intent.setData(data);
    activity.startActivity(intent);    
  }
  
  public void startEmailActivity(String email) {
    startEmailActivity(email, null);
  }

  public void startEmailActivity(String email, String subject) {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    String emailLink = "mailto:" + email;
    if (subject!=null) {
      emailLink += "?subject=" + subject;
    }
    Uri data = Uri.parse(emailLink);
    intent.setData(data);
    activity.startActivity(intent);    
  }
  
  public PendingIntent getPendingIntent(Class<?> cls, int requestCode) {
    Intent intent = new Intent(activity, cls);
    return PendingIntent.getActivity(activity, requestCode, intent, 0);
  }
}




Java Source Code List

com.kahkong.wikicontacts.callback.OnChangeListener.java
com.kahkong.wikicontacts.callback.OnClickListener.java
com.kahkong.wikicontacts.callback.OnCompleteListener.java
com.kahkong.wikicontacts.callback.OnEventListener.java
com.kahkong.wikicontacts.callback.OnTimeOutListener.java
com.kahkong.wikicontacts.callback.Validator.java
com.kahkong.wikicontacts.controller.AddEditContactActivity.java
com.kahkong.wikicontacts.controller.CallDetectService.java
com.kahkong.wikicontacts.controller.EditContactActivity.java
com.kahkong.wikicontacts.controller.SearchActivity.java
com.kahkong.wikicontacts.controller.TestActivity.java
com.kahkong.wikicontacts.controller.UpdateEditContactActivity.java
com.kahkong.wikicontacts.form.EditTextForm.java
com.kahkong.wikicontacts.form.ImageUploadForm.java
com.kahkong.wikicontacts.form.MultiEditTextForm.java
com.kahkong.wikicontacts.form.OptionsForm.java
com.kahkong.wikicontacts.form.RadioGroupForm.java
com.kahkong.wikicontacts.form.SpinnerForm.java
com.kahkong.wikicontacts.form.TagsForm.java
com.kahkong.wikicontacts.link.EmailLink.java
com.kahkong.wikicontacts.link.Link.java
com.kahkong.wikicontacts.link.NumberLink.java
com.kahkong.wikicontacts.link.TagLink.java
com.kahkong.wikicontacts.link.UrlLink.java
com.kahkong.wikicontacts.modal.ContactAndImage.java
com.kahkong.wikicontacts.modal.Contact.java
com.kahkong.wikicontacts.modal.CountryCode.java
com.kahkong.wikicontacts.modal.CountryCodesWithSelect.java
com.kahkong.wikicontacts.service.ContactServiceImpl.java
com.kahkong.wikicontacts.service.ContactService.java
com.kahkong.wikicontacts.service.CountryCodeServiceImpl.java
com.kahkong.wikicontacts.service.CountryCodeService.java
com.kahkong.wikicontacts.service.ImageServiceImpl.java
com.kahkong.wikicontacts.service.ImageService.java
com.kahkong.wikicontacts.service.IntentServiceImpl.java
com.kahkong.wikicontacts.service.IntentService.java
com.kahkong.wikicontacts.service.NotificationServiceImpl.java
com.kahkong.wikicontacts.service.NotificationService.java
com.kahkong.wikicontacts.service.PhoneBookServiceImpl.java
com.kahkong.wikicontacts.service.PhoneBookService.java
com.kahkong.wikicontacts.service.PreferencesServiceImpl.java
com.kahkong.wikicontacts.service.PreferencesService.java
com.kahkong.wikicontacts.service.ResourceServiceImpl.java
com.kahkong.wikicontacts.service.ResourceService.java
com.kahkong.wikicontacts.service.ValidationServiceImpl.java
com.kahkong.wikicontacts.service.ValidationService.java
com.kahkong.wikicontacts.service.WebServiceImpl.java
com.kahkong.wikicontacts.service.WebService.java
com.kahkong.wikicontacts.subcontroller.CallStateListener.java
com.kahkong.wikicontacts.subcontroller.FlowLayout.java
com.kahkong.wikicontacts.subcontroller.IncomingContactLayout.java
com.kahkong.wikicontacts.subcontroller.InfoDialog.java
com.kahkong.wikicontacts.subcontroller.LoadingDialog.java
com.kahkong.wikicontacts.subcontroller.ResultAdaptor.java
com.kahkong.wikicontacts.subcontroller.ViewContactDialog.java
com.kahkong.wikicontacts.subcontroller.ViewFormatter.java