我一直在寻找过去2天的SW,谷歌等等.我正在寻找一种方法来实现原生Android ICS锁屏附带的活动,如下面的屏幕所示.这些屏幕来自Player Pro,但我注意到其他玩家(例如PlayerPro)具有看起来完全相同的相同功能,这就是为什么我认为它是原生的或者至少有一种常见的方式来实现它.
到目前为止,我只是设法得到和使用这些标志替换锁屏的Activity:
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKEDWindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD有关这些事件的BroadCaseReciever:
Intent.ACTION_SCREEN_ONIntent.ACTION_SCREEN_OFFIntent.ACTION_USER_PRESENT我的问题是我想用锁屏来显示我的活动而不是替换它.你们知道怎么做到这一点吗?
是否有一个本机隐藏的API来做到这一点?
你能和我联系一些实现这个特殊功能的样本吗?
提前致谢 ;)

我正在为联系人管理创建简单的小部件,允许用户拨打和发送短信到所需的联系人.
它作为"普通小部件"工作正常,但当我在Android 4.2上将其添加为锁屏小部件时,短信应用或拨号应用程序无法启动.其实他们明星,但"落后"锁屏,所以用户仍然必须手动解锁屏幕才能拨打/发送短信.
我在网上搜索了一些解决方案,但没有任何东西派上用场.我知道FLAG_DISABLE_KEYGUARD或FLAG_SHOW_WHEN_LOCKED,但由于短信/拨号应用程序不是"我的"所以我不知道他们是否设置了正确的标志.作为一种解决方法,我试图创建我的活动,设置那些标志然后只是启动所需的一个(拨号或短信),但这没有帮助.
有一种方法来解锁屏幕,但是这涉及到使用KeyguardManager和KeyguardLock(其中正常工作),但在使用KeyguardLock.newKeyguardLock()我结束了电话不能够自动打开锁,肯定是因为我不知道的结果释放此锁(它会导致锁再次出现,这不是我想要的).
事实上,这个小部件应该与锁定屏幕上的默认短信小部件或邮件小部件一起工作?
那么,我的问题是,如何实现这一点并从锁屏开始新的活动?
android widget lockscreen android-activity android-4.2-jelly-bean
它似乎不起作用。我查看了此处提出的解决方案:Android 模拟器 4.2.2 未在锁定屏幕中显示添加小部件选项但没有成功。使用 rev1 图像(因为 rev2 有一个错误,在这里提交:http : //code.google.com/p/android/issues/detail? id=58548 )
我没有办法得到那个“+”号......想法?
当然,该项目使用的是Android 17。
我打算创建一个自己的Android锁屏.但我不知道从哪里开始?我应该只使用UI布局进行活动来交互触摸,当用户滑动时我应该调用androd.intent.HOME?
我怎样才能覆盖默认的android锁屏应用程序?
我真的不知道任何帮助将不胜感激.我看到这篇文章:我在哪里可以找到关于创建自定义android锁屏的示例或教程? 但它不是很有帮助
而且我的设备根深蒂固,我不介意只为ROOTED用户制作应用程序..
我成功设置了 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) 我正在尝试为使用 espresso 框架解锁屏幕时出现的 android 应用程序编写自动化测试。我想添加一个测试用例以确保在屏幕解锁时出现一个活动。
如何使用 espresso 以编程方式锁定或解锁屏幕?
当我在扩展FirebaseMessagingService的服务中收到Push消息并在此类中启动Activity时,将执行以下生命周期事件/方法:
我开发了下面的解决方案,我在其中添加一个布尔值,以确定屏幕是否打开/关闭.但这很麻烦,当屏幕在锁定模式下打开时,它不起作用.
因为当屏幕未关闭且显示MainActivity,并且接收到推送消息时,该行为是默认的生命周期行为,因此是正确的.打开屏幕并显示MainActivity时,这是相同的流程:
这是正确的,也是可以预期的.
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 应用程序,它是 voip 应用程序。当有人打电话时,我们会显示呼叫者屏幕。这工作正常,但在某些 redmi 设备(Note 7 pro)上,如果设备被锁定,则不会出现来电屏幕,即它只播放声音。
在调试时,我发现我需要为设备启用“在锁定屏幕上显示”权限。一旦我启用它,它就会按预期开始工作。我的问题是,我想通过在运行时以编程方式检查此权限来改善 UI 体验,但不幸的是我找不到任何可以让我检查的东西。在红米设备上可以吗?
我想在用户锁定设备后立即在 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
lockscreen ×10
android ×9
emulation ×1
fullscreen ×1
gnome ×1
gnome-shell ×1
java ×1
keyguard ×1
miui ×1
ubuntu ×1
ubuntu-18.04 ×1
widget ×1