首页 > 编程知识 正文

android弹窗警告提示框,android消息提示框

时间:2023-05-03 21:47:49 阅读:230029 作者:3087

android的service中弹出界面import javax.mail.Folder;import javax.mail.Store;import javax.mail.event.ConnectionEvent;import javax.mail.event.ConnectionListener;import javax.mail.event.MessageCountEvent;import javax.mail.event.MessageCountListener;import android.app.Service;import android.content.Context;import android.content.Intent;import android.graphics.PixelFormat;import android.os.Binder;import android.os.Handler;import android.os.IBinder;import android.os.Message;import android.util.Log;import android.view.Gravity;import android.view.View;import android.view.WindowManager;import android.view.WindowManager.LayoutParams;import android.widget.TextView;import com.lidroid.xutils.util.LogUtils;import com.qwtech.letvmailvertical.beans.Email;import com.qwtech.letvmailvertical.mailutils.ConnUtil;import com.qwtech.letvmailvertical.mailutils.MailHelper;public class ReadEmailService extends Service {private final IBinder binder = new MyBinder();int sleeptime = 10 * 1000; //1分钟 private Context mContext; private View v; Store store; Email email; Folder folder = null; private int TO_LOGIN = 1; private int FLASH_DATE = 2; private int SHOW_DATE = 5; private int HIDE_DATE = 8; private int NO_DATE = 12; public void onCreate() { super.onCreate(); } @Overridepublic IBinder onBind(Intent intent){return binder;} /** * 该类是获得Service对象 * @author Administrator * */ public class MyBinder extends Binder{ public ReadEmailService getService(){ return ReadEmailService.this; } } Handler handler = new Handler() { public void handleMessage(Message msg) { if (TO_LOGIN == msg.what) { LogUtils.e("FLASH_DATE休眠介绍开始工作==>ReadEmailService服务证在运行!"); login(); return; } if (FLASH_DATE == msg.what){// LogUtils.e("FLASH_DATE休眠介绍开始工作==>ReadEmailService服务证在运行!");flashDate();return;} if (SHOW_DATE == msg.what) { String msgs = (String) msg.obj; showSystemDialog(msgs); com.qwtech.letvmailvertical.utils.Utils.showToast(mContext, "后台服务收到了新邮件!"); email = null; LogUtils.e("SHOW_DATE==>ReadEmailService服务证在运行!"); return; } if (NO_DATE == msg.what) { String msgs = (String) msg.obj; LogUtils.e("NO_DATE"+msgs); return; } if (HIDE_DATE == msg.what) { if (v !=null){v.setVisibility(View.GONE);} LogUtils.e("HIDE_DATE==>ReadEmailService服务证在运行!"); return; } super.handleMessage(msg); } }; private void login() { new Thread(new Runnable() { @Override public void run() { LogUtils.e("登陆开始"); // 创建IMAP协议的Store对象 try{ store = ConnUtil.loginbyService(mContext); if (store == null && store.isConnected()) { LogUtils.e("登陆出错了"); Message msg = new Message(); msg.obj = "登陆出错了!"; msg.what = NO_DATE; handler.sendMessage(msg); } // 获得收件箱 folder = store.getFolder("INBOX"); folder.addConnectionListener(new ConnectionListener() { @Override public void opened(ConnectionEvent arg0) { LogUtils.e("连接监听事件:opened"); } @Override public void disconnected(ConnectionEvent arg0) { LogUtils.e("连接监听事件:disconnected"); } @Override public void closed(ConnectionEvent arg0) { LogUtils.e("连接监听事件:closed"); } }); // 以读写模式打开收件箱 folder.open(Folder.READ_WRITE); handler.sendEmptyMessage(FLASH_DATE);}catch (Exception e1){e1.printStackTrace();}if (folder == null){return;} folder.addMessageCountListener(new MessageCountListener() { public void messagesRemoved(MessageCountEvent messagecountevent) { } @Override public void messagesAdded(MessageCountEvent ev) { System.out.println("new message"); javax.mail.Message[] msgs = ev.getMessages(); Message msg = new Message(); msg.obj = ""+msgs.length; msg.what = SHOW_DATE; handler.sendMessage(msg);// for (int i = 0; i < msgs.length; i++) {// try { Email.parseMessage(msgs[i]);// email = new Email(msgs[i],false);// // } catch (Exception e) {// e.printStackTrace();// }// } } }); } }).start(); } private void flashDate(){ new Thread(new Runnable() { @Override public void run() { try { if (folder != null && folder.isOpen()){ MailHelper.getInstance(mContext).getNewMail(folder); LogUtils.e("email"+email); if (email != null) { handler.sendEmptyMessage(SHOW_DATE); LogUtils.e("收到了新邮件:"+email.getSubject()); }else{ Message msg = new Message(); msg.obj = "暂未收到新邮件!"; msg.what = NO_DATE; handler.sendMessage(msg); }}else{LogUtils.e("掉线重连");folder = null;handler.sendEmptyMessage(TO_LOGIN);} } catch (Exception e) { e.printStackTrace(); } } }).start(); } @Overridepublic int onStartCommand(Intent intent, int flags, int startId){mContext = getApplicationContext();LogUtils.e("onStartCommand->ReadEmailService服务证在运行!");mTasks.run();return super.onStartCommand(intent, flags, startId);}int intCounter = 0 ;private Runnable mTasks = new Runnable() { public void run() { intCounter++; Log.i("HIPPO", "Counter:"+Integer.toString(intCounter)); // 添加具体需要做的事情: handler.sendEmptyMessage(FLASH_DATE); handler.postDelayed(mTasks, sleeptime); } }; private void showSystemDialog(String emailnum) { /* create ui */ if (v != null){v.setVisibility(View.VISIBLE);return;}v = View.inflate(mContext, R.layout.view_back_dialog, null); TextView tvEmailInfos = (TextView) v.findViewById(R.id.tvEmailInfos); tvEmailInfos.setText("你有"+emailnum+"封新邮件!"); /* set size & pos */ WindowManager.LayoutParams lp = new WindowManager.LayoutParams();; WindowManager wManager = (WindowManager) getSystemService(WINDOW_SERVICE); lp.type = WindowManager.LayoutParams.TYPE_PHONE; // 设置window type lp.format = PixelFormat.RGBA_8888; // 设置图片格式,效果为背景透明 lp.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; lp.width = LayoutParams.WRAP_CONTENT; lp.height = LayoutParams.WRAP_CONTENT; lp.gravity = Gravity.LEFT | Gravity.BOTTOM; wManager.addView(v, lp); handler.sendEmptyMessageDelayed(HIDE_DATE, 3000);}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。