如何在锁屏上显示您的应用?

时间:2015-06-22 05:31:58

标签: android

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

只是想知道这是否可行。

非常感谢任何建议,

1 个答案:

答案 0 :(得分: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"/>