android在桌面弹出一个窗口

android在桌面弹出一个窗口 

 

  

遇到了这种需求,要和iPhone一样的效果.

下面是简单实现功能,优化和美化部分,有时间慢慢搞。

方法应该有不少吧,我用的是弹出一个activity,将这个activity的Theme设置为Theme.Dialog

在Manifest.xml里

[html] view plaincopy
  1. <activity  
  2.             android:name="com.android.activity.PopupkActivity"  
  3.             android:theme="@android:style/Theme.Dialog"  
  4.             android:alwaysRetainTaskState="true"  
  5.             android:configChanges="keyboardHidden|orientation"  
  6.             android:screenOrientation="portrait" />  

使用一个广播来接收需要弹出来的事件,这里用的是监听时间流逝的广播,需要在代码里注册才能监听到

[java] view plaincopy
  1. IntentFilter intentFilter = new IntentFilter();  
  2.         intentFilter.addAction(Intent.ACTION_TIME_TICK);  
  3.           
  4.         registerReceiver(new TimeTickBookReceiver(), intentFilter);  

收到广播后,在onReceive里处理

[java] view plaincopy
  1. Intent mIntent = new Intent();  
  2.                         mIntent.setClass(context, PopupActivity.class);  
  3.                         mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  4.                         mIntent.putExtra("title", getTitle(book.epgtitle));  
  5.                         context.startActivity(mIntent);  


这样就可以在桌面上弹出一个窗口(实际是activity) 
原文地址:https://www.cnblogs.com/new0801/p/6175873.html