如何在非活动类中发送短信?

时间:2011-08-19 02:57:45

标签: android android-layout android-widget

我有一个服务类和一个util类。 在util类中,我发送短信给手机。但是在util类中,有很多函数使用params,比如context,但是util没有扩展,只是一个简单的类。怎么做?

3 个答案:

答案 0 :(得分:2)

就像这样。设置所有pendingIntent null。

public static boolean smsSender(String to, String msg) {
    SmsManager smsManager = SmsManager.getDefault();
    try {

            List<String> contents = smsManager.divideMessage(msg);
            for (String content : contents){
                smsManager.sendTextMessage(to, null, content, null, null);
            }

        return true;
    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
        return false;
    }
}

答案 1 :(得分:0)

试试这样:

 public class ABCD extends Service{

           Util util = new Util(this);

    }



public class Util{
              private Context context = null;
              public Util(Context context){
                    this.context = context;
              }
  }

答案 2 :(得分:0)

如果我理解正确,那么在创建使用util类创建的任何对象时,必须将上下文作为参数传递。

所以,我假设在你的服务类中,你正在创建一个发送短信的Util类......我只是编写一些可能适合你所做的代码......

在您的服务类中,执行此操作。

Util util = new Util(this)

这样做会创建一个具有服务上下文的Util对象,只需确保Util类有一个适当的构造函数来保留上下文(供以后使用)。在Util类中使用它来执行此操作

public class Util {

    private Context c                //storage for the Context

    public Util (Context context){   //constructor for Util
        this.c = context;
    }
}

希望有所帮助。