手机应用可以作为桌面应用的辅助工具,用来接收桌面应用的状态信息。这里介绍如何实现一个简单的Android程序用于接收Windows扫描仪应用的工作状态。
思路
创建socket连接用于应用通信
Android上启动后台服务,用于接收信息
在收到信息之后,后台服务会把推送消息发送给Android应用
Socket信息发送
启动停止Android Service
创建服务NotificationService:
在AndroidManifest.xml中申明一下这个service:
<
service android:name = "com.dynamsoft.twain.NotificationService"
/>
在onCreate(Bundle)中启动服务:
startService(new Intent(ScanAssist.this, NotificationService.class));
在onDestroy()中停止服务:
stopService(new Intent(ScanAssist.this, NotificationService.class));
推送Android通知
调用NotificationManager:
private NotificationManager mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
创建用于内容显示的Activity IncomingMessageView:
在AndroidManifest.xml中申明Activity:
发送消息,并显示在状态栏上:
用例
运行Android应用,启动服务
应用切换到后台,操作其它应用,比如打开浏览器
在Windows上操作应用,点击文件扫描
扫描成功之后,信息发送到手机
源码
git clone https://github.com/DynamsoftRD/ScanAssist.git