qq_37791291 2017-05-16 04:41 采纳率: 0%
浏览 1195

android软件发送短信在模拟器上没有错误,但到真机上点击完确定就停止运行,已经给了权限还是错误!

package com.hqsunc.hualun.service;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.telephony.SmsManager;
import android.widget.Toast;

import com.hqsunc.hualun.bean.UserBean;
import com.hqsunc.hualun.bean.bmob.User;
import com.hqsunc.hualun.biz.UserProxy;

import java.util.ArrayList;
import java.util.List;

import cn.bmob.v3.listener.SaveListener;
import cn.bmob.v3.listener.UpdateListener;

/**

  • Created by hqsunc on 2017/3/30. */

public class UserService {
private static UserService instance;
private String sendMobile = "18860132192";
private UserService() {
}

public static UserService getInstance() {
    if (instance == null) {
        synchronized (UserService.class) {
            if (instance == null)
                instance = new UserService();
        }
    }
    return instance;
}









public void updateXinPianInfo(Context context, final UserBean user, String ccDate,
                           final UserService.UserProxyListener userUpdateListener) {

    if (null != user) {

        SmsManager manager = SmsManager.getDefault();
        ArrayList<String> list = manager.divideMessage(ccDate);  //因为一条短信有字数限制,因此要将长短信拆分
        for(String text:list){

            manager.sendTextMessage(sendMobile, null, text, null, null);
        }
        Toast.makeText( context, "发送完毕", Toast.LENGTH_SHORT).show();

        if (null != ccDate)
            user.setCcDate(ccDate);
        SharedPreferences sharedPreferences= context.getSharedPreferences("userdata", Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        String sql="update xinpian set ccDate='"+ccDate+"' where xpId='"+user.getYhXinPian()+"'";
        String methodName="execute";
        Object obj=BusinessService.addOrUpdate(sql,null,methodName);
        editor.putString("ccDate", ccDate);
        if (null != userUpdateListener)
            userUpdateListener.onSuccess();
        if (listeners.size() > 0) {
            for (UserService.UserInfoChangedListener listener : listeners) {
                listener.onChanged();
            }
        }
        editor.commit();
    }
}



public interface UserProxyListener {
    void onSuccess();

    void onFailure(String msg);
}

public interface UserInfoChangedListener {
    void onChanged();
}

private List<UserService.UserInfoChangedListener> listeners = new ArrayList<UserService.UserInfoChangedListener>();

public void addUserInfoChangedListener(UserService.UserInfoChangedListener listener) {
    if (listener != null && !listeners.contains(listener)) {
        listeners.add(listener);
    }
}

public void removeUserInfoChangedListener(UserService.UserInfoChangedListener listener) {
    if (listener != null && listeners.contains(listener)) {
        listeners.remove(listener);
    }
}

}

  • 写回答

3条回答 默认 最新

  • 白萝卜。 2017-05-16 05:27
    关注

    把Exception贴出来看啊,代码基本上就是那几步。

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名