Service服务调用示例Demo

1、Client

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
setContentView(R.layout.card);
        RegistMessage();  // 注册广播接收处理,用于接收 IntentService 的结果

......

}

//动态注册receiver
public static final String ACTION_RECV_MSG_ID = xxx.RESULT_MESSAGE";
public static final String SERIVCE_IDCARD =  "xxx.FingerModuleService";


private MessageReceiver receiverID ;
public void RegistMessage()
{
        IntentFilter filter = new IntentFilter( ACTION_RECV_MSG_ID );
        filter.addCategory(Intent.CATEGORY_DEFAULT);
receiverID = new MessageReceiver();
registerReceiver(receiverID, filter);
}
    

   /*
* Message
*/
public final static String MESSAGE_CMD="MSG_readID";
public final static String MESSAGE_PATH="MSG_path";
public final static String MESSAGE_RESULT="MSG_result";
/**调用身份证读取服务
*/
public int CallIDcardService( String inPath )
{
Intent msgIntent = GenIDcardServiceIntent(inPath);
startService(msgIntent);
   
return 0;
}
/**生成IDcard识别服务intent
* @return
*/
static public Intent GenIDcardServiceIntent( String inPath )
{
Intent msgIntent = new Intent( );
msgIntent.setAction( SERIVCE_IDCARD );
        msgIntent.putExtra( MESSAGE_CMD, "readIDCard" );//命令
msgIntent.putExtra( MESSAGE_PATH, inPath );//输入工作路径/sdcard/wltlib
   
return msgIntent;
}

//广播接收 IDcard服务返回的消息
public class MessageReceiver extends BroadcastReceiver
{
        @Override
        public void onReceive(Context context, Intent intent) {
       
        String message = intent.getStringExtra(MESSAGE_RESULT);
        Log.d("MessageReceiver", MESSAGE_RESULT+"="+message);
        if (message != null && message.length() != 0)
        {  
        }
        else
{
        printHint("失败!");
            }
        }
}
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值