implementation 'com.umeng.sdk:push:4.2.0'
// 添加友盟分享库
implementation 'cn.dlc.android:umeng-share:1.0.4'
2、在Application初始化
/**
* 初始化友盟SDK
*/
private void initUmengSDK() {
/**
* 方法2,直接初始化,app key和channel为null的话,等价于方法1
* 初始化common库
* 参数1:上下文,不能为空
* 参数2:友盟 app key
* 参数3:友盟 channel
* 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机
* 参数5:Push推送业务的secret,需要集成Push功能时必须传入Push的secret,否则传空
*/
UMConfigure.init(this, Information.UmengAppkey, Information.UmengChannel,
UMConfigure.DEVICE_TYPE_PHONE, Information.UmengPushSecret);
PushAgent instance = PushAgent.getInstance(this);
instance.register(new IUmengRegisterCallback() {
@Override
public void onSuccess(String s) {
Log.e("xsw", "推送id友盟token: "+s );
UserHelper.get().saveUmengToken(s);
}
@Override
public void onFailure(String s, String s1) {
Log.e("xsw", s+"---"+s1 );
}
});
UmengNotificationClickHandler umengNotificationClickHandler = new UmengNotificationClickHandler(){
@Override
public void launchApp(Context context, UMessage uMessage) {
Intent mIntent = new Intent(sInstance, WelcomeActivity.class);//自定义通知栏点击事件
mIntent.putExtra("notification",true);
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
startActivity(mIntent);
}
};
instance.setNotificationClickHandler(umengNotificationClickHandler);
UmengMessageHandler messageHandler = new UmengMessageHandler() {
@Override
public Notification getNotification(Context context, UMessage msg) {
LgqLog.e(msg.text+"....推送id==== "+msg.builder_id);//推送内容和ID
Message msgg = new Message();
msgg.what = 1;
Bundle bundle = new Bundle();
bundle.putString("text1",msg.text); //往Bundle中存放数据
msgg.setData(bundle);//mes利用Bundle传递数据
// mHandler.sendMessage(msgg);//用activity中的handler发送消息
mHandler.sendMessageAtTime(msgg,2000);
switch (msg.builder_id) {
case 1://自定义通知栏
Notification.Builder builder = new Notification.Builder(context);
RemoteViews myNotificationView = new RemoteViews(context.getPackageName(),
R.layout.notification_view);
SimpleDateFormat df = new SimpleDateFormat("HH:mm");//设置日期格式"yyyy年-MM月dd日-HH时mm分ss秒"
总结
现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。
我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。
Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。
如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。
附
(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)