问keyguardmanager问题,谢谢

hnyz2000 2010-03-31 06:09:09
各位大侠,大家好
小弟想做个程序能够自由的控制锁键盘,但是我在看keyguardmanager时候很多问题都没看明白,并且在使用disableKeyguard ()方法时候,程序会报错。。。。

我想实现用程序控制系统是否锁键盘,我用的api没用错吧??
求助各位大侠帮助,谢谢了

下面是我的代码:
public class hello extends Activity {
/** Called when the activity is first created. */


private KeyguardManager.KeyguardLock mKeyguardLock;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
KeyguardManager km = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
mKeyguardLock = km.newKeyguardLock("phone");

setContentView(R.layout.main);


}
@Override
protected void onStart() {
super.onStart();
disableKeyguard(true);
}

@Override
public void onStop() {
super.onStop();
disableKeyguard(false);
}

/**
* Acquires a wake lock and prevents keyguard from enabling.
*/
private void disableKeyguard(boolean disable) {
if (disable) {
mKeyguardLock.disableKeyguard();
} else {
mKeyguardLock.reenableKeyguard();
}
}


}
...全文
1542 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnyz2000 2010-04-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zcpangzi 的回复:]
权限不够吧,需在androidmanifest.xml中声明
android.permission.DISABLE_KEYGUARD允许程序禁用键盘锁(Allows applications to disable the keyguard ) 试试
[/Quote]
hi 老兄,
我已经这样子按你的要求加了permission,现在点run没有报异常,但是却发现不知道为什么只要加了permission这个程序就不能启动,我通过模拟器主动去点这个程序的图标,却显示:该软件未被安装。。。。
为什么会这样啊,不是每次run时候就自动安装吗?若是去掉permission就不会这样了。。。
还请哪位大侠解答一下啊
我的AndroidManifest如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="test.hello"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name" android:permission="android.permission.DISABLE_KEYGUARD">
<activity android:name=".hello"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
<uses-sdk android:minSdkVersion="3" />



<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
</manifest>

我到底哪里弄错了啊,我的天啊。。。
Life葡萄糖 2010-04-05
  • 打赏
  • 举报
回复
LZ,我刚才试了下,没问题的,在手机上跑了下。你clean下,再build试试
运行时,看看log中,有没有提示正常安装或者其他。。。

[2010-04-05 09:25:36 - Hello1] Android Launch!
[2010-04-05 09:25:36 - Hello1] adb is running normally.
[2010-04-05 09:25:36 - Hello1] Performing com.test.hello1.Hello1 activity launch
[2010-04-05 09:25:36 - Hello1] Automatic Target Mode: using device 'P726U'
[2010-04-05 09:25:36 - Hello1] Uploading Hello1.apk onto device 'P726U'
[2010-04-05 09:25:37 - Hello1] Installing Hello1.apk...
[2010-04-05 09:25:38 - Hello1] Success!
[2010-04-05 09:25:38 - Hello1] Starting activity com.test.hello1.Hello1 on device
[2010-04-05 09:25:39 - Hello1] ActivityManager: Starting: Intent { cmp=com.test.hello1/.Hello1 }
nj_dobetter 2010-03-31
  • 打赏
  • 举报
回复
在AndroidManifest.xml里面声明要使用Keyguard的权限没有
Life葡萄糖 2010-03-31
  • 打赏
  • 举报
回复
权限不够吧,需在androidmanifest.xml中声明
android.permission.DISABLE_KEYGUARD允许程序禁用键盘锁(Allows applications to disable the keyguard ) 试试

80,358

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧