package com.citaq.v5print; import woyou.aidlservice.jiuiv5.ICallback; import woyou.aidlservice.jiuiv5.IWoyouService; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { Button bt_print; Button bt_print_portugal; EditText et_text; protected static final String TAG = null; IWoyouService woyouService; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent=new Intent(); intent.setPackage("woyou.aidlservice.jiuiv5"); intent.setAction("woyou.aidlservice.jiuiv5.IWoyouService"); startService(intent); bindService(intent, connService, Context.BIND_AUTO_CREATE); printTexte("maman va au marché"); init(); } private void init(){ bt_print = (Button) findViewById(R.id.bt_print); bt_print_portugal = (Button) findViewById(R.id.bt_print_portugal); et_text = (EditText) findViewById(R.id.et_text); bt_print.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { printTexte(et_text.getText().toString()); } }); bt_print_portugal.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { printTexte("A nação Chinesa desde OS tempos antigos,é um defensor Da paz."); } }); } private void printTexte(String str){ try { woyouService.printText(str+"\n",callback); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private ServiceConnection connService = new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) { woyouService = null; } @Override public void onServiceConnected(ComponentName name, IBinder service) { woyouService = IWoyouService.Stub.asInterface(service); try { woyouService.printerInit(callback) ; // 注册回调函数 } catch (RemoteException e) { Log.d(TAG, "registerCallback failed."); } } }; private ICallback callback = new ICallback.Stub() { @Override public void onRunResult(boolean isSuccess) throws RemoteException { // TODO Auto-generated method stub Log.d(TAG, "ICallback--->" + isSuccess); } @Override public void onReturnString(String result) throws RemoteException { // TODO Auto-generated method stub Log.d(TAG, "ICallback--->" + result); } @Override public void onRaiseException(int code, String msg) throws RemoteException { Log.d(TAG, "onRaiseException--->" + msg); } }; @Override protected void onPause() { // TODO Auto-generated method stub super.onStop(); } }