可以编写Android原生态插件集成阿里云移动推送,错误代码如下
public class Push_AppProxy implements AppHookProxy {
private static final String TAG = "Push_AppProxy";
private static String deviceId = null;
@Override
public void onCreate(Application application) {
//初始化触发
initCloudChannel(application);
}
/**
* 初始化云推送通道
*/
private void initCloudChannel(Application application) {
// 创建notificaiton channel
this.createNotificationChannel(application);
PushServiceFactory.init(application.getApplicationContext());
final CloudPushService pushService = PushServiceFactory.getCloudPushService();
pushService.register(application, new CommonCallback() {
@Override
public void onSuccess(String response) {
Log.i(TAG, "init cloudchannel success");
deviceId = pushService.getDeviceId();
Log.i("deviceId", "deviceId = "+deviceId);
}
@Override
public void onFailed(String errorCode, String errorMessage) {
Log.e(TAG, "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage);
}
});
//接入华为辅助推送
HuaWeiRegister.register(application);
}
//创建通知提示
private void createNotificationChannel(Application application) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager mNotificationManager = (NotificationManager) application.getSystemService(Context.NOTIFICATION_SERVICE);
// 通知渠道的id
String id = "1";
// 用户可以看到的通知渠道的名字.
CharSequence name = "notification channel";
// 用户可以看到的通知渠道的描述
String description = "notification description";
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
// 配置通知渠道的属性
mChannel.setDescription(description);
// 设置通知出现时的闪灯(如果 android 设备支持的话)
mChannel.enableLights(true);
mChannel.setLightColor(Color.RED);
// 设置通知出现时的震动(如果 android 设备支持的话)
mChannel.enableVibration(true);
mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
//最后在notificationmanager中创建该通知渠道
mNotificationManager.createNotificationChannel(mChannel);
}
}
来盘芋头丸
AppHookProxy 我实现了 ,但是也没走这里面。。
2022-09-20 15:34
来盘芋头丸
https://segmentfault.com/q/1010000042515244 这是我的部分代码 请检阅
2022-09-20 15:45
DCloud_Android_ST
回复 来盘芋头丸: 你云打包吗
2022-09-20 15:51
来盘芋头丸
回复 DCloud_Android_ST: 必须的 ,自定义基座 ,只能云打包,本地打包读不到插件。
2022-09-20 15:52
DCloud_Android_ST
回复 来盘芋头丸: 你在插件开发工程环境下测试看看 。打log看日志是否触发 概况框架提供很长一段时间了 没有改动过
2022-09-20 15:54
来盘芋头丸
回复 DCloud_Android_ST: 我靠 插件开发工程环境 是怎么事 ,没明白
2022-09-20 15:55
来盘芋头丸
https://nativesupport.dcloud.net.cn/NativePlugin/course/android?id=%e6%8f%92%e4%bb%b6%e5%bc%80%e5%8f%91 这个 ?
2022-09-20 15:56
DCloud_Android_ST
回复 来盘芋头丸: 。。。你开发插件没有工程环境吗,自己txt写出来的呀
2022-09-20 15:56
来盘芋头丸
回复 DCloud_Android_ST: ..
2022-09-20 15:58
来盘芋头丸
as 跳到插件里的时候,也只是走了application,没走 AppHookProxy
2022-09-20 15:59
DCloud_Android_ST
回复 来盘芋头丸: onSubProcessCreate没触发吗
2022-09-20 16:01
来盘芋头丸
回复 DCloud_Android_ST: 嗯 ,onSubProcessCreate onCreate(Application application) 都没触发 我做了Log 和 吐司 ,都没走 ;声明的过程应该是没问题,在这里面 https://segmentfault.com/q/1010000042515244
2022-09-20 16:03
DCloud_Android_ST
回复 来盘芋头丸: 本地环境测试需要配置dcloud_uniplugins.json 里的hooksClass节点
2022-09-20 16:05
来盘芋头丸
回复 DCloud_Android_ST: 试了,我正换台电脑测试 ,
2022-09-20 16:08
DCloud_Android_ST
回复 来盘芋头丸: 提供qq吧 沟通方便些
2022-09-20 16:11
来盘芋头丸
回复 DCloud_Android_ST: 卧槽 我记得是解决了 多对比官方demo 就行了 。 在那个什么 hookproxy里做初始化操作
2024-04-27 11:44