小编kev*_*ynx的帖子

调用BroadcastReceiver时如何解锁屏幕?

您可以猜到,我通过AlarmManager注册了一个警报.并且将正确调用BroadcastReceiver.但是当它打电话时,我的手机屏幕仍然被锁定.我注意到默认的AlarmClock应用程序不是这样的.所以我的问题是,当调用BroadcastReceiver时如何解锁屏幕?(解锁屏幕可以让用户直接操作我的Activity)提前感谢.

android broadcastreceiver

7
推荐指数
1
解决办法
8080
查看次数

使用我自己的源目录生成vs2010项目文件

在我的大多数c ++项目中,我想使用visual studio默认目录结构中的不同目录结构.即:

/project
    /build  # put visual studio soluation and project files
    /src  # only put the c++ header files and source files
    /bin  # put the target executable files
        /debug
        /release
    /tmp
        /debug
        /release
Run Code Online (Sandbox Code Playgroud)

每次我在vs2010中创建一个solutaion我将配置这些目录(例如OutputDirectory),但现在我真的很无聊.

那么有没有一个工具可以根据我的配置文件自动生成vs2010解决方案和项目文件?我唯一的要求是设置这些目录.

c c++ cmake visual-studio-2010

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

如何在Common Lisp中创建二进制流(而不是文件)?

我有一个函数,它将一些二进制数据输出到流.但是流是抽象的,这意味着流可以是文件流,也可以是其他流.但是流必须是支持写字节功能的二进制流.我搜索但没找到答案.

我想要做的是,我有一个将一些数据转换为gif的函数.但我不想将数据输出到文件中,我想将其输出到内存中.

谢谢.

lisp binarystream

5
推荐指数
1
解决办法
1703
查看次数

如何通过sms消息获取联系信息

我正在开发一个扩展的SMS应用程序.现在我可以阅读mmssms.db中的所有短信.在SMS数据库表中,字段"person"表示联系人表中的"_id".当'person'> = 1时,这意味着该消息是从联系人列表中的人发送的.所以我可以从联系表'managedQuery'.但问题是,在我的手机中,测试程序有时甚至无法查询联系信息甚至'人'> = 1.那么有人可以告诉我一些正确的方法来查询短信表中提交的"人"的联系信息吗?以下是一些示例代码,可以使我的问题更清晰:

class ContactItem {  
    public String mName;  
}  

    ContactItem getContact(Activity activity, final SMSItem sms) {  
        if(sms.mPerson == 0) return null;  
        Cursor cur = activity.managedQuery(ContactsContract.Contacts.CONTENT_URI,   
                new String[] {PhoneLookup.DISPLAY_NAME},   
                " _id=?",   
               new String[] {String.valueOf(sms.mPerson)}, null);  
       if(cur != null &&  
           cur.moveToFirst()) {  
           int idx = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME);  
           ContactItem item = new ContactItem();  
           item.mName = cur.getString(idx);  
           return item;  
       }  
       return null;  
   }  
Run Code Online (Sandbox Code Playgroud)

android

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

如果lua数是double,是=/<= /> =操作总是正确吗?

如您所知,浮点数存在精度问题,即值1将为0.9999999.并且lua在C中使用==来检查两个双数是否相等.所以问题是:

a = 5.6
b = 14 * 0.4
print(a==b) ; => false
Run Code Online (Sandbox Code Playgroud)

但最糟糕的是:

a = 1
...
if a < 1 then print("<1") end ; => sometimes a < 1 
Run Code Online (Sandbox Code Playgroud)

那我怎么能避免这个呢?我查看lua源代码,似乎我可以在luaconf.h中修改luai_numeq/luai_numle)宏,但这是必要的吗?

更新

第二个例子并不正确.实际上我的问题是,我将值1传递给使用lua_tonumber获取值的c/c ++,并将此值存储在double变量中,并且在一段时间后,我将值(lua_pushnumber)推送到lua,并且a <1事情发生了:

in lua:
my_cfunction(1)
...
in c:
int my_cfunction(lua_State *L) {
    double val = lua_tonumber(L, 1);
    ...
...
lua_pushnumber(L, val);

in lua:
local a = my_cfunction2()
if a < 1 then ... end
Run Code Online (Sandbox Code Playgroud)

floating-point lua

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