标签: lockscreen

Android ICS原生锁屏

我一直在寻找过去2天的SW,谷歌等等.我正在寻找一种方法来实现原生Android ICS锁屏附带的活动,如下面的屏幕所示.这些屏幕来自Player Pro,但我注意到其他玩家(例如PlayerPro)具有看起来完全相同的相同功能,这就是为什么我认为它是原生的或者至少有一种常见的方式来实现它.

到目前为止,我只是设法得到和使用这些标志替换锁屏的Activity:

  • WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
  • WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD

有关这些事件的BroadCaseReciever:

  • Intent.ACTION_SCREEN_ON
  • Intent.ACTION_SCREEN_OFF
  • Intent.ACTION_USER_PRESENT

我的问题是我想用锁屏来显示我的活动而不是替换它.你们知道怎么做到这一点吗?

是否有一个本机隐藏的API来做到这一点?

你能和我联系一些实现这个特殊功能的样本吗?

提前致谢 ;)

在此输入图像描述 在此输入图像描述 在此输入图像描述

android lockscreen

6
推荐指数
1
解决办法
5991
查看次数

如何从锁屏启动新活动?

我正在为联系人管理创建简单的小部件,允许用户拨打和发送短信到所需的联系人.

它作为"普通小部件"工作正常,但当我在Android 4.2上将其添加为锁屏小部件时,短信应用或拨号应用程序无法启动.其实他们明星,但"落后"锁屏,所以用户仍然必须手动解锁屏幕才能拨打/发送短信.

我在网上搜索了一些解决方案,但没有任何东西派上用场.我知道FLAG_DISABLE_KEYGUARD或FLAG_SHOW_WHEN_LOCKED,但由于短信/拨号应用程序不是"我的"所以我不知道他们是否设置了正确的标志.作为一种解决方法,我试图创建我的活动,设置那些标志然后只是启动所需的一个(拨号或短信),但这没有帮助.

有一种方法来解锁屏幕,但是这涉及到使用KeyguardManager和KeyguardLock(其中正常工作),但在使用KeyguardLock.newKeyguardLock()我结束了电话不能够自动打开锁,肯定是因为我不知道的结果释放此锁(它会导致锁再次出现,这不是我想要的).

事实上,这个小部件应该与锁定屏幕上的默认短信小部件或邮件小部件一起工作?

那么,我的问题是,如何实现这一点并从锁屏开始新的活动?

android widget lockscreen android-activity android-4.2-jelly-bean

6
推荐指数
1
解决办法
4359
查看次数

如何在模拟器中测试 Android 锁屏小部件?

它似乎不起作用。我查看了此处提出的解决方案:Android 模拟器 4.2.2 未在锁定屏幕中显示添加小部件选项但没有成功。使用 rev1 图像(因为 rev2 有一个错误,在这里提交:http : //code.google.com/p/android/issues/detail? id=58548 )

我没有办法得到那个“+”号......想法?

当然,该项目使用的是Android 17。

android emulation android-widget lockscreen

6
推荐指数
2
解决办法
6049
查看次数

Android LockScreen

我打算创建一个自己的Android锁屏.但我不知道从哪里开始?我应该只使用UI布局进行活动来交互触摸,当用户滑动时我应该调用androd.intent.HOME

我怎样才能覆盖默认的android锁屏应用程序?

我真的不知道任何帮助将不胜感激.我看到这篇文章:我在哪里可以找到关于创建自定义android锁屏的示例或教程? 但它不是很有帮助

而且我的设备根深蒂固,我不介意只为ROOTED用户制作应用程序..

java android lockscreen

6
推荐指数
1
解决办法
3158
查看次数

在锁定屏幕上显示通知

我成功设置了 GCM 通知,并且可以通过 GCM 从服务器端成功获取消息。

我还可以通过这些代码在 android 的通知栏系统上显示通知。

我尝试使用这些方式在锁定屏幕上显示通知,但没有奏效:

1 - 添加<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />权限

2 - 添加android:showOnLockScreen="true"在 manifest.xml 中定义的主要活动

3 - 在 java 文件中添加到主活动中: getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

4 -Show notifications已在应用程序设置系统中选中复选框。

知道如何在锁定屏幕上显示通知的人,

请帮助我,我做了很多搜索但没有帮助。

谢谢,

p/s :

我正在使用三星 S3、Android 4.3 进行测试。已启用锁定屏幕页面。

我从Intent Service.

代码显示通知:

// Put the message into a notification and post it.
// This is just one simple example of what you might choose to do with
// …
Run Code Online (Sandbox Code Playgroud)

notifications android lockscreen

6
推荐指数
1
解决办法
2万
查看次数

Android espresso 测试锁定和解锁屏幕

我正在尝试为使用 espresso 框架解锁屏幕时出现的 android 应用程序编写自动化测试。我想添加一个测试用例以确保在屏幕解锁时出现一个活动。

如何使用 espresso 以编程方式锁定或解锁屏幕?

android automated-tests lockscreen android-espresso

6
推荐指数
1
解决办法
1350
查看次数

锁定屏幕触发不同活动的应用程序生命周期事件

当我在扩展FirebaseMessagingService的服务中收到Push消息并在此类中启动Activity时,将执行以下生命周期事件/方法:

  • Push Message启动VideoRingingActivity
  • 启动VideoRingingActivity
  • 的onCreate
  • disableLockScreen
  • 屏幕从黑色切换到锁定屏幕,因此它不显示VideoRingingActivity
  • 在onStart
  • 的onResume
  • 在onPause
  • 的onStop
  • 现在显示了实际的VideoRingingActivity?我期待在setContentView(R.layout.activity_video_ringing)之后出现这个问题
  • onRestart
  • 在onStart
  • 的onResume

我开发了下面的解决方案,我在其中添加一个布尔值,以确定屏幕是否打开/关闭.但这很麻烦,当屏幕在锁定模式下打开时,它不起作用.

因为当屏幕未关闭且显示MainActivity,并且接收到推送消息时,该行为是默认的生命周期行为,因此是正确的.打开屏幕并显示MainActivity时,这是相同的流程:

  • 的onCreate
  • 在onStart
  • 的onResume

这是正确的,也是可以预期的.

class VideoRingingActivity : BaseActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        if (ViewUtils.isScreenActive(activity)) {
            screenIsNotLocked = true
        }
        ViewUtils.disableLockScreen(this)
        binding = DataBindingUtil.setContentView(this, R.layout.activity_video_ringing)
    }

    override fun onStart() {
        super.onStart()
        if (screenIsNotLocked) {
        }
    }

    override fun onResume() {
        super.onResume()
        if (screenIsNotLocked) {
        }
    }

    override fun onPause() {
        super.onPause()
        if (screenIsNotLocked) {
        }
    }

    override fun onStop() {
        super.onStop()
        if …
Run Code Online (Sandbox Code Playgroud)

android lockscreen android-lifecycle

6
推荐指数
0
解决办法
163
查看次数

如何完全禁用 GNOME 锁定屏幕?

我已经按照本文所述的方法停用自动屏幕锁定。然而,当屏幕关闭并且我摇动鼠标或按键将其唤醒时,我仍然会看到锁定屏幕(如下图所示)。

如何完全禁用 Gnome 锁定屏幕,以便当我唤醒屏幕时,它显示我的桌面/应用程序,而不是这个无用的锁定屏幕?

请注意,与这个问题不同,我仍然希望屏幕在一段时间不活动后关闭,但我不希望在唤醒屏幕时显示锁定屏幕。

GNOME 锁屏

ubuntu gnome lockscreen gnome-shell ubuntu-18.04

6
推荐指数
2
解决办法
1万
查看次数

在 Redmi 设备上启用“在锁定屏幕上显示”权限

我有一个 android 应用程序,它是 voip 应用程序。当有人打电话时,我们会显示呼叫者屏幕。这工作正常,但在某些 redmi 设备(Note 7 pro)上,如果设备被锁定,则不会出现来电屏幕,即它只播放声音。

在调试时,我发现我需要为设备启用“在锁定屏幕上显示”权限。一旦我启用它,它就会按预期开始工作。我的问题是,我想通过在运行时以编程方式检查此权限来改善 UI 体验,但不幸的是我找不到任何可以让我检查的东西。在红米设备上可以吗?

android lockscreen redmi-permission miui

6
推荐指数
1
解决办法
602
查看次数

当设备使用 PIN/密码锁定时,全屏意图活动不会显示在外观屏幕上

我想在用户锁定设备后立即在 Android 外观屏幕上显示一份简短的调查问卷。为此,我检测屏幕锁定事件并显示带有全屏意图通知的活动。

 val fullScreenIntent = Intent(context, destination)
        fullScreenIntent.flags = Intent.FLAG_ACTIVITY_NO_HISTORY or
            Intent.FLAG_ACTIVITY_CLEAR_TASK or
            Intent.FLAG_ACTIVITY_CLEAR_TOP or
            Intent.FLAG_ACTIVITY_NEW_TASK

        val fullScreenPendingIntent = PendingIntent.getActivity(context, 0, fullScreenIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

        val builder = NotificationCompat.Builder(context, CHANNEL_ID)
            .setSmallIcon(R.drawable.ic_logo)
            .setContentTitle(title)
            .setContentText(description)
            .setFullScreenIntent(fullScreenPendingIntent, true)
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .setCategory(NotificationCompat.CATEGORY_ALARM)

        with(notificationManager){
            createNotificationChannel()
            val notification = builder.build()
            notify(NOTIFICATION_ID, notification)
        }
Run Code Online (Sandbox Code Playgroud)

为了让活动显示在外观屏幕上,我在OnCreate调查问卷活动的方法中执行此操作:

fun Activity.turnScreenOnAndKeyguardOff() {
    setShowWhenLocked(true)
    setTurnScreenOn(true)

    with(getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager) {
        requestDismissKeyguard(this@turnScreenOnAndKeyguardOff, null)
    }
}
Run Code Online (Sandbox Code Playgroud)

在清单中:

 <activity
        android:name="com.example.trackingapp.activity.LockActivity"
        android:exported="true"
        android:launchMode="singleTop"
        android:showOnLockScreen="true"
        android:excludeFromRecents="true"/>
Run Code Online (Sandbox Code Playgroud)

这适用于 Android 9、10 和 11 以及某些 Android 12 (Pixel 3) …

android fullscreen lockscreen android-notifications keyguard

6
推荐指数
0
解决办法
1304
查看次数