2015-06-22 44 views
2
Android Studio 1.3 Preview 5 

你好,如何在锁屏上显示您的应用程序?

我想显示我的应用程序的锁屏上的图标的用户。例如,您拥有相机应用快捷方式。我想为我的应用做同样的事情。所以用户将点击或拖动应用程序图标,应用程序将打开。

在清单activity元素下有一个属性,我认为应该工作。但是,当我在三星运行Kitkat 4.4.2上安装我的应用程序时,它不起作用(API 17或更高版本)。

android:showOnLockScreen="true" 

在下面的在线文档我看不到这个属性:

http://developer.android.com/guide/topics/manifest/activity-element.html 

只是想知道,如果这是可以或不可以。

非常感谢您的任何建议,

+0

'安卓showOnLockScreen'是通知。 AFAIK没有API可用于直接从锁定屏幕启动的应用程序,这取决于安装在设备上的启动程序。 –

+0

[如何显示对话框,即使屏幕被锁定?](http://stackoverflow.com/questions/21727278/how-to-show-dialog-even-if-the-screen-is-locked) – alfasin

+0

@alfasin并不是真正的复制品,他想要在锁定屏幕上显示应用程序图标,而不是对话框 –

回答

2

这是我想出的方式。当您的应用程序当前在锁定屏幕中检测到时,请使用以下代码段将您的应用程序图标添加到屏幕上。

WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); 
    lp.width = WindowManager.LayoutParams.WRAP_CONTENT; 
    lp.height = WindowManager.LayoutParams.WRAP_CONTENT; 
    lp.gravity = Gravity.CENTER; 
    lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR; 
    lp.format = PixelFormat.TRANSLUCENT; 
    lp.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; 
    ImageView image = new ImageView(this); 
    image.setImageResource(R.mipmap.ic_launcher); 
    image.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      // Do something here 
     } 
    }); 
    wm.addView(image, lp); 

声明此权限清单中:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 
相关问题