1***@qq.com
1***@qq.com
  • 发布:2023-06-16 09:51
  • 更新:2023-06-19 11:13
  • 阅读:295

uts插件要怎么像写安卓插件一样初始化Application

分类:uts

有的第三方sdk需要在Application中进行初始化,但是uts插件目前不知道怎么实现这种功能

public class LocationApplication implements UniAppHookProxy {
@Override
public void onCreate(Application application) {
//可写初始化触发逻辑
Context context = application;
// 确保只有主进程进行SDK初始化
if (context.getPackageName().equals(DeviceUtil.getCurrentProcessName(context))) {
MDPLocationCollectionManager.initialize(context, "https://oapi.alct56.com");
MDPLocationCollectionManager.initServiceProcessProguard(context);
context.startService(new Intent(context, PlayerMusicService.class));
}

}  

@Override  
public void onSubProcessCreate(Application application) {  
    //子进程初始化回调  
}  

}

2023-06-16 09:51 负责人:无 分享
已邀请:
昭昭L

昭昭L - 开心就好

uts目前还只是作为插件,没有生命周期

昭昭L

昭昭L - 开心就好

仅供参考

//新建一个类,继承 Application 类,并将其注册到 AndroidManifest.xml 文件中的 application 标签内。  

//在 UTS 插件的入口类中,获取当前所在进程的 Application 对象,代码如下:  

public class UTSPlugin implements IUTSCallback {  

   private static Application _application;  

   public void init(Context context){  
       if(isPluginProcess()){  
           _application = (Application) context.getApplicationContext();  
           //... 其他初始化工作  
       }  
   }  

   private static boolean isPluginProcess(){  
       String packageName = getCurrentProcessName();  
       return packageName != null && packageName.equals(getMyProcessName());  
   }  

   private static String getMyProcessName(){  
       return _application.getPackageName() + ":uts";  
   }  

   private static String getCurrentProcessName(){  
       int pid = android.os.Process.myPid();  
       ActivityManager manager = (ActivityManager) _application.getSystemService(Context.ACTIVITY_SERVICE);  
       if(manager != null){  
           for(ActivityManager.RunningAppProcessInfo info : manager.getRunningAppProcesses()){  
               if(info.pid == pid){  
                   return info.processName;  
               }  
           }  
       }  
       return null;  
   }  

   //... 插件的其他功能代码  
}  
//UTS 插件中需要初始化 Application 的时候,调用 init() 方法即可。
  • 1***@qq.com (作者)

    uts插件可以直接写java类?

    2023-06-19 11:07

  • 1***@qq.com (作者)

    你看下我下面的截图,是放在这个位置?

    2023-06-19 11:09

1***@qq.com

1***@qq.com (作者)

是放在这里么

昭昭L

昭昭L - 开心就好

嗯嗯对,最近我们也在写uts插件

昭昭L

昭昭L - 开心就好

不好意思回错问题了,你是要初始化吗

  • 1***@qq.com (作者)

    是的,初始化,目前没看到uts怎么初始化

    2023-07-07 11:18

要回复问题请先登录注册