我现在做的是日历,将设定的日程存储在数据库,我这样处理的,开机监听数据库,将获取的时间和当前时间比较,相等就提示信息
我想用对话框的形式显示信息,现在的效果是,对话框和Activity绑定在了一起,
我想实现的效果是将弹出的对话框悬浮在当前界面(随便哪个界面)上而独立存在希望大家多提点意见!

解决方案 »

  1.   

    刚刚搜索了一下,好像可以实现这个功能,研究一下!然后请教一下:我开机监听数据库时,有时候报错,
    “ Unable to start receiver com.date.BootReceiver: android.database.sqlite.SQLiteException: unable to open database file”
    但有时候又可以,不知道怎样才能解决这个问题
      

  2.   

    权限加了   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />我把数据库放在sd卡的根目录下
      

  3.   

    应该不是这个权限。类似于这种:
     // Restore preferences
            //MODE_WORLD_READABLE
            //MODE_WORLD_WIRTEABLE

            SharedPreferences settings = getSharedPreferences(SETTING_INFOS,MODE_WORLD_READABLE);
      

  4.   

    权限的问题已经解决
    只加了操作外部存储的权限 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    忘了加开机启动的权限:
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
      

  5.   

    至于提示界面,PopupWindow好像也不行PopupWindow的核心代码如下:
    Context mContext = DateAlert.this;  
    LayoutInflater mLayoutInflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);  
    View music_popunwindwow = mLayoutInflater.inflate(R.layout.dialog, null);  
    PopupWindow mPopupWindow = new PopupWindow(music_popunwindwow,  
    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);  
    mPopupWindow.showAtLocation(findViewById(R.id.main), Gravity.CENTER, 0, 0);  showAtLocation()的第一个参数通过findById绑定了一个界面我做的是在BroadcastReceiver里面用定时器控制:
    核心代码如下:
     private Handler handler = new Handler();
    private Runnable task = new Runnable(){
    public void run() {
    handler.postDelayed(task,1000);
    list();  //从数据库中获取信息
    getCurrentTime();  //得到当前时间
    //格式化当前日期、时间
    String currentTime = Y + "-" + format(M) + "-" + format(D) + " " + format(h) + ":" + format(m);
    for(int i = 0;i < list.size();i ++){
    if(currentTime.equals(remind_date + " " + remind_time)){
    //在这里进行处理,弹出一个信息显示的界面 }
    }
    }
    };效果就和Android手机关机界面一样,不管当前处于哪个界面,只要长按关机键,就会在当前界面上显示一个悬浮的信息窗口!
      

  6.   

    至于提示界面,PopupWindow好像也不行PopupWindow的核心代码如下:
    Context mContext = DateAlert.this;  
    LayoutInflater mLayoutInflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);  
    View music_popunwindwow = mLayoutInflater.inflate(R.layout.dialog, null);  
    PopupWindow mPopupWindow = new PopupWindow(music_popunwindwow,  
    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);  
    mPopupWindow.showAtLocation(findViewById(R.id.main), Gravity.CENTER, 0, 0);  showAtLocation()的第一个参数通过findById绑定了一个界面我做的是在BroadcastReceiver里面用定时器控制:
    核心代码如下:
     private Handler handler = new Handler();
    private Runnable task = new Runnable(){
    public void run() {
    handler.postDelayed(task,1000);
    list();  //从数据库中获取信息
    getCurrentTime();  //得到当前时间
    //格式化当前日期、时间
    String currentTime = Y + "-" + format(M) + "-" + format(D) + " " + format(h) + ":" + format(m);
    for(int i = 0;i < list.size();i ++){
    if(currentTime.equals(remind_date + " " + remind_time)){
    //在这里进行处理,弹出一个信息显示的界面 }
    }
    }
    };效果就和Android手机关机界面一样,不管当前处于哪个界面,只要长按关机键,就会在当前界面上显示一个悬浮的信息窗口!
      

  7.   

    我也有同样的问题,我用广播启动一个service ,service在运行过程中要有一些提示信息(执行到哪一步),提示信息怎么写了求高手帮忙