我目前正在尝试编写一个拦截文本消息的应用程序,并根据该消息的内容做出反应.我试图_receivedMessage:(struct __CKSMSRecord *)message replace:(BOOL)replace在CKSMSService类中挂钩方法,但这似乎根本没有被调用.
有人可以告诉我我必须挂钩的功能/类吗?我需要在文本消息显示并存储到数据库之前拦截它.我在IOS 5.0.1上.
真的很感激任何帮助.
我正在使用C#开发iOS项目.该程序从连接的网络摄像头捕获图像,并通过Socket发送到iPhone/iPad.这一切都很好,我可以成功地让我的流出现在设备上.
但是当客户端断开连接时,网络摄像头必须关闭,在此功能中,程序才会挂断.没有错误消息和没有异常调用......只是挂起!我相信这是多线程的问题但不幸的是我没有在C#中找到解决方案的经验.我希望有人能带我走上正轨......
代码:
onImageCaptured函数:
public void OnImageCaptured(Touchless.Vision.Contracts.IFrameSource frameSource, Touchless.Vision.Contracts.Frame frame, double fps)
{
_latestFrame = frame.Image;
Console.WriteLine("OnImageCaptured");
if (isConnected)
{
Console.WriteLine("OnImageCaptured - isConnected");
byteArray = new byte[0];
MemoryStream stream = new MemoryStream();
_latestFrame.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
stream.Close();
byteArray = stream.ToArray();
if (byteArray.Length > 0)
{
string eof = "<EOF>";
byte[] eofByte = Encoding.ASCII.GetBytes(eof);
Console.WriteLine("OnImageCaptured - sendStream");
this.onDataSend(byteArray);
this.onDataSend(eofByte);
stream.Flush();
}
System.Diagnostics.Debugger.Log(0, "1", "\nByte Array Length: " + byteArray.Length.ToString());
}
pictureBoxDisplay.Invalidate();
}
Run Code Online (Sandbox Code Playgroud)
在Camera Class中定义如下:
public event EventHandler<CameraEventArgs> OnImageCaptured;
Run Code Online (Sandbox Code Playgroud)
并触发:
OnImageCaptured.Invoke(this, new CameraEventArgs(bitmap, fps)); …Run Code Online (Sandbox Code Playgroud)