2015-06-22 63 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"/> 
相關問題