反正是否阻止用户滑动状态栏(展开)或折叠回来?
我正在尝试更换锁屏,看起来它是必备功能.有没有可能的方法来做到这一点而不需要root权限?
在Android应用程序的最新版本Facebook上显示锁定屏幕通知功能,就像在这个截图上:
有没有人试图实现这个?
我知道在锁定屏幕上显示Activity很简单,但遗憾的是它不适用于半透明背景.基本上它工作,但在我们的活动下面,我们看到启动器屏幕,而不是锁定屏幕(在这种情况下像锁屏也将是透明的).
我现在尝试的是:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
在我的活动中.
我也试过这个例子:https://gist.github.com/daichan4649/5352944
正如我所描述的 - 一切正常但没有透明度.
根据我的观察,Facebook使用主题:
@android:style/Theme.Translucent.NoTitleBar
Run Code Online (Sandbox Code Playgroud)
并且没有许可:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
Run Code Online (Sandbox Code Playgroud)
此外,我注意到锁定屏幕通知会获取触摸,因此我们无法通过手势显示状态栏中的通知.
任何想法如何在Android L发布之前创建这种通知.
我已经编写了完整的音乐播放器来播放来自网络的音乐,但我不知道如何将媒体播放器控件置于通知中以及何时屏幕是锁定.
我按照本教程 在通知栏中显示控件,但仍未获得如何在我的程序中使用相同的功能,我已导入所需的类,如:NotificationService.java和Constants.java.
这是我在通知栏中得到的:
[
]
我很迷惑.为什么我没有得到我正在播放的歌曲的标题,为什么暂停,上一个和下一个按钮不起作用等...
NotificationService.java:
public class NotificationService extends Service {
Notification status;
private final String LOG_TAG = "NotificationService";
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent.getAction().equals(Constants.ACTION.STARTFOREGROUND_ACTION)) {
showNotification();
Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();
} else if (intent.getAction().equals(Constants.ACTION.PREV_ACTION)) {
Toast.makeText(this, "Clicked Previous", Toast.LENGTH_SHORT).show();
Log.i(LOG_TAG, "Clicked Previous");
} else if (intent.getAction().equals(Constants.ACTION.PLAY_ACTION)) {
Toast.makeText(this, "Clicked …Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序,它必须能够在iPhone锁定屏幕上显示我自己的视图.我见过很多让你自定义锁屏等的应用程序,这些都是App Store应用程序,所以我猜它有可能.
我只是无法弄清楚在iOS SDK中使用什么甚至尝试实现它.
哦和PS:同样适用于壁纸 - 我们可以从我们的应用程序内部更改吗?
我正在开发自定义锁屏应用程序在4.0以下但4.0以上正常工作,当我们按下主页按钮应用程序stops.is有任何解决方案这个没有应用程序将停止按下主页按钮直到解锁屏幕.(如去更衣室应用程序)
可能重复:
以编程方式锁定Android设备
如何在Android中以编程方式锁定屏幕?
几年前,我写了一个适用于Android 2的闹钟应用程序,我现在正尝试将其升级到适用于Android 4.的功能,特别是在三星Galaxy S4上.
在Android 2上,如果手机正在睡眠,它会唤醒手机并在锁定屏幕上显示"贪睡或关闭"屏幕.
在Android 4上,它会唤醒手机,但您必须将其解锁,然后打开通知区域,然后单击闹钟的通知,然后才能点击"关闭".
我一直在使用这段代码来唤醒:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
关于此事,我已经阅读了8个不同的stackoverflow问题.他们中的大多数都给出了上面的代码,这在几年前在Android 2中起作用,但在Android 4中不起作用.但是他们都没有帮助我解决这个问题.以下是我阅读和尝试过的问题:
Android:以编程方式删除或禁用Samsung Galaxy S2设备上的锁定屏幕
有没有人对Android 4中可能导致此问题的变化有任何想法?
编辑:这是我见过的一个最简单的例子,它没有出现"最小化"的警报对话框.它没有像写的那样出现在锁屏上,但是你可以用它来修复它WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
它是用FragmentActivity和DialogFragment编写的,但它仍然可以作为Activity使用.它使用AlertDialog.Builder来创建对话框,如果您尝试使用XML布局,它将无法工作.为什么?
android lockscreen android-alarms android-notification-bar android-activity
我要求禁用锁定屏幕并将锁定屏幕类型设置为"无".我的设备已植根(可以使用SU权限运行)+可以作为具有系统权限的系统应用程序运行(在/ system/app下).
我尝试了一些无济于事的事情.
试试1
这似乎已被弃用,不起作用.
KeyguardManager manager = (KeyguardManager) this.getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = manager.newKeyguardLock("abc");
lock.disableKeyguard();
Run Code Online (Sandbox Code Playgroud)
试试2
这也不起作用.
/data/data/com.android.providers.settings/databases/settings.db执行以下SQL.
INSERT OR REPLACE INTO system (name, value) VALUES ('lockscreen.disabled', '1');
INSERT OR REPLACE INTO secure (name, value) VALUES ('lockscreen.disabled', '1');
试试3
重新启动机器但仍然没有运气.
android.provider.Settings.Secure.putLong(mContentResolver, Settings.Secure.LOCK_PATTERN_ENABLED, false);`
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.password_type", DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);`
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.password_type_alternate", DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.disabled", true);
Run Code Online (Sandbox Code Playgroud)
还有什么我可以尝试的吗?
请注意,我不想仅在应用程序运行时禁用键盘锁.
是否可以将用户设置为手机的默认安全设置用作我的应用程序的锁定或登录机制?我的意思是,当我们重置手机时,它会询问手机密码或图案.
是否有可能使用默认的android密码或用户设置的模式登录我的应用程序?
我的目标是绕过开发工作并使用一些标准的身份验证方式,而不会让用户记住另一个新密码.
注意:我知道我可以以编程方式锁定屏幕.但相反,我想在执行任何关键操作之前使用锁作为验证.(就像设置在重置手机之前要求输入密码一样.)
我正在制作自定义锁屏.
锁定屏幕是我在屏幕关闭时启动的活动.
但是,我无法使活动既透明又全屏.
状态栏会一直显示.
这是我在清单中所做的事情:
<activity android:name=".activities.LockScreenActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
Run Code Online (Sandbox Code Playgroud)
我还在activit的onCreate中添加了这些额外内容:
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.lock_screen);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
但它似乎无法奏效:|
为什么?