还是杂

远程服务

例如打英雄时想要买皮肤,支付方式需要用到银联或者支付宝等第三方软件里面的一部分功能,那么就需要一个类似“中间商”的角色,为两者搭建桥梁。

简单案例:

1.建立一个类继承Service类(支付服务)

public class PayService extends Service {
	
	@Override
	public IBinder onBind(Intent intent) {
		return null;
	}
	private class PayBinder extends IService.Stub{    //IService变成aibl文件后的继承方式

		@Override
		public double payFor(String account, String password, double money)
				throws RemoteException {
			
			return pay(account, password, money);  
		}
	}
	
	public double pay(String account,String password,double money){
		double code = -1;
		if (account.equals("168.com")&&password.equals("123456")) {     //对条件做出判定
			if (money > 12.5) {
				if (money == 200) {
					code = 1000200;
				}else if (money == 680) {
					code = 1000680;
				}else{
					code = money;
				}
			}
		}else{       //账号密码或错误
			code = 1001;
		}
		return code;
		
	}
	
	@Override
	public void onCreate() {
		Log.d("tada", "创建支付服务");
		super.onCreate();
	}
	@Override
	public boolean onUnbind(Intent intent) {
		Log.d("tada", "解绑");
		return super.onUnbind(intent);
	}
	@Override
	public void onDestroy() {
		Log.d("tada", "断开");
		super.onDestroy();
	}
	
}


1.2  建立一个接口,如果其他应用要用到此接口,需要把这个接口拿到本程序中,而且本程序下放置该接口的包名要与原包名相同,因此为了方便使用,创建在另一个包下。

        建立好接口,找到源文件,将原文件重命名为   aibl  文件

        在清单里注册,设定动作

interface IService {      

	double payFor(String account,String password,double money);
}
2.另一个应用(英雄买皮肤)

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
    }
    public void buySkin(View view){
    	Intent intent = new Intent();
    	intent.setAction("com.at.remoteService.pay");
    	bindService(intent, connection, BIND_AUTO_CREATE);    
    }
    public void bind(View view){
    	Intent intent = new Intent();        //建立联系,绑定服务
    	intent.setAction("com.at.remoteService.pay");
    	bindService(intent, connection, BIND_AUTO_CREATE);
    }
    private IService iservice;
    private ServiceConnection connection = new ServiceConnection(){

		@Override
		public void onServiceConnected(ComponentName name, IBinder service) {
			iservice = IService.Stub.asInterface(service);       //获取对象
			pay();
		}
		@Override
		public void onServiceDisconnected(ComponentName name) {
			iservice = null;
		}

	private void pay() {         //调用支付方法
			try {
				int payfor = (int) iservice.payFor("168.com", "123456", 208);
				switch (payfor) {
				case 1000200:
					Toast.makeText(MainActivity.this, "购买欧蕾那皮肤成功", 0).show();
					break;
				case 1000680:
					Toast.makeText(MainActivity.this, "购买艾希传说皮肤成功", 0).show();
					break;
				case 1001:
					Toast.makeText(MainActivity.this, "账号或密码不正确", 0).show();
					break;

				default:
					break;
				}
			} catch (RemoteException e) {
				e.printStackTrace();
			}
		}
    	
    };
}


电话监听

public class CellService extends Service {

	private TelephonyManager tm;


	@Override
	public IBinder onBind(Intent intent) {
		return null;
	}
	@Override
	public void onCreate() {
		// TODO 
		Log.d("tada", "创建服务,电话监听开启");
		super.onCreate();
		tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
		tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
	}
	private PhoneStateListener listener = new PhoneStateListener(){
		public void onCallStateChanged(int state, String incomingNumber) {
			switch (state) {
			case TelephonyManager.CALL_STATE_IDLE:
				stopRecording();      //停止录音
				break;
			case TelephonyManager.CALL_STATE_RINGING:
				Log.d("tada", "电话铃响");
				break;
			case TelephonyManager.CALL_STATE_OFFHOOK:
				startRecording();       //电话通话
				Log.d("tada", "电弧通话"+incomingNumber);
				break;
			default:
				break;
			}
			Log.d("tada", "   "+state+"   "+incomingNumber);
		}
	};

	private void startRecording() {
			mRecorder = new MediaRecorder();
			mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
			mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
//			文件
			File file = new File(
					Environment.getDownloadCacheDirectory(),System.currentTimeMillis()+".3gp");
			FileDescriptor descriptor;
			mRecorder.setOutputFile(file.getAbsolutePath());
			mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

			try {
				mRecorder.prepare();
			} catch (Exception e) {
				Log.e("vivi", "prepare() failed");
			}

			mRecorder.start();
		}

	private	MediaRecorder mRecorder;
	private void stopRecording() {
			if (mRecorder != null) {
				mRecorder.stop();
				mRecorder.release();
				mRecorder = null;
			}
		};
	
	
	@Override
	public void onDestroy() {
		// 反注册
		super.onDestroy();
		tm.listen(listener, PhoneStateListener.LISTEN_NONE);
		Log.d("tada", "停止电话监听");
	}

}
获取权限,在虚拟机上运行





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值