android 锁屏上显示Activity或者在其他应用app或者手机桌面弹activity,类似微信手机登录电脑

您所在的位置:网站首页 安卓手机微信怎么在屏幕上显示 android 锁屏上显示Activity或者在其他应用app或者手机桌面弹activity,类似微信手机登录电脑

android 锁屏上显示Activity或者在其他应用app或者手机桌面弹activity,类似微信手机登录电脑

2024-07-11 06:13| 来源: 网络整理| 查看: 265

首先这个是弹activity不是部分透明对话框,也不是悬浮窗,所以不要纠结权限问题,当然如果是对话框或者悬浮框不是这么容易和简单的,需要权限不说,也不一定能适配所有的手机

只看例子,在MainActivity启动TestActivity,中间10秒你回到桌面或者进入任何其它app或者锁屏都是可以唤醒进入想要的页面,例如微信的手机登录电脑页面

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Handler().postDelayed(new Runnable() { public void run() { Intent in = new Intent(MainActivity.this, TestActivity.class); startActivity(in); } }, 10000); } }

对应的布局文件

public class TestActivity extends Activity { @Override protected 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_test); } }

注意这里的FLAG_SHOW_WHEN_LOCKED和FLAG_TURN_SCREEN_ON,从名字上就能看出其作用。FLAG_TURN_SCREEN_ON使Activity启动的时候能够点亮屏幕。FLAG_SHOW_WHEN_LOCKED能够在屏幕锁定的时候,也能显示,如果只是想在桌面或者其它app页面弹activity的话,那么去掉这个就可以了

对应的布局文件

对应的主题,我试过不用这个主题也是可以的

@android:color/transparent @null true true true

经过上面案列测试说明,当前自己的应用置于后台的话,可以在任何界面如桌面或者任意app类,或者锁屏状态都可以切换到想要显示的activity的,注意是activity全屏页面,如果是部分对话框页面或者悬浮框的话,是不可能这么容易的,就算是activity模式的diallog对话框也如果这样搞的话,就是对话框在上面,同时也能看到对话框下面的应用的页面了,就是你自己的应用,这种启动就是将你的自己的应用切换调换到最上端,如果只是想要显示一个对话框页面的话,那是不可能的

在其他应用显示的activity模式dialog的页面如下:其实就是唤醒你自己的应用而已

上图测试案例

public class TestActivity extends Activity { @Override protected 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_dialog); } }

布局文件如下:

清单文件

主题:

@null true true false @null @drawable/public_notice_dialog_bg true @style/No_Animation @null @null @null @null @null @null @null @null @null @null @null @null

 

总结:经过上述案例测试,弹activity全屏页面可以在任何桌面或者app上显示,如微信手机登录电脑端页面,实际就是重新唤醒你的应用而已,但是如果只是想显示类似悬浮框或者部分弹框的页面,下面是桌面或者别人的应用页面,那种是很有难度的,不太可能实现的,就算实现了也需要手动设置或者获取一些权限

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3