预言
这次还是ionic的专题,不过跟原生有关,主要讲下ionic跟原生通信及调用原生sdk进行视频监控开发的过程。用的是一个cordova插件调用原生的方法及展示。
1 ionic界面调用
1、1 首先就是下载插件
cordova plugin add cordova-plugin-broadcaster
npm install --save @ionic-native/broadcaster
1、2 在ng-moudle里注册
import { Broadcaster } from '@ionic-native/broadcaster';
providers: [
Broadcaster,
]
1、3 在页面ts调用
import {Broadcaster} from "@ionic-native/broadcaster";
ionViewDidLoad() {
this.broadcaster.fireNativeEvent('test.event',{data: 'success'}).then(()=>{
console.log('success!');
});
}
2 在安卓项目接收
2、1 在安卓项目的MainActivity中接收
final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String data = intent.getExtras().getString("data");
Log.d("CDVBroadcaster",
String.format("Native event [%s] received with data [%s]", intent.getAction(), data));
if(data.equals("success")){
Log.i("asd","good");
Intent intent = new Intent(mActivity, AngToAndr.class);
startActivity(intent);
}
}
};
LocalBroadcastManager.getInstance(this)
.registerReceiver(receiver, new IntentFilter("test.event"));
}
2.2 调用原生sdk
这样,我们就做了一个在ionic界面点击事件到原生接收的方法,传递data的值到activity,活动接收到就可以调用原生开发好的功能进行展示了。