仿QQ锁屏界面效果

来源:互联网 发布:软件开发必备工具 编辑:程序博客网 时间:2024/06/11 05:58

现在新版的QQ Android客户端有个新功能,就是在锁屏界面也可以接收消息,并且接收到的消息可以显示在锁屏界面,双击之后可以进入QQ。

下面简单实现这个功能。当然正式项目中的运用还是非常复杂的,这仅仅是一个简单的Demo,可以作为参考:

直接上代码:

MainActivity.java

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TimerTask task = new TimerTask() {@Overridepublic void run() {Intent intent = new Intent();intent.setAction("com.liang.test");sendBroadcast(intent);finish();}};new Timer().schedule(task, 5000);}}

MessageReceiver.java

public class MessageReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {intent = new Intent(context, MessageActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(intent);}}

MessageActivity.java

public class MessageActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);setContentView(R.layout.activity_message);findViewById(R.id.tv).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {finish();}});KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");keyguardLock.disableKeyguard();}}

效果图如下:




0 0
原创粉丝点击