永远不会调用MyApplication中的方法

时间:2017-03-29 03:20:14

标签: android

当我尝试将Android APP连接到BlueTooth打印机时,永远不会调用密钥方法。我接着介绍了SDK:

  1. 添加权限

  2. Application.onCreate()

    中的Init SDK

    public void onCreate(){     super.onCreate();     WPXMain.init(本); }

  3. 我运行SDK提供的示例,我可以看到日志:

    03-29 11:15:25.399 10820-10820 / com.wpx.printer.sample D / WPXMain:init

    以下是示例代码:

    public class MyApplication extends Application {
        private List<Activity> list = new ArrayList<Activity>();
    
        public void addActivity(Activity activity) {}
    
        public void clearActivity(){
            for(Activity activity : list){
                if(activity != null && !activity.isFinishing()){
                    activity.finish();
                }
            }
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
            WPXMain.init(this);
        }
    
        public void exit() {
            clearActivity();
    
            System.exit(0);
            android.os.Process.killProcess(android.os.Process.myPid());
        }
    }
    

    然而,当我把那个WPXMain.init(这个);在我自己的MyApplication中,我既看不到init日志,也看不到SDK的任何功能。

    我猜是因为WPXMain.init(这个);在MyApplication中没有被调用。因为如果它被调用,我应该看到init日志。这是SDK中的初始化代码:

    public static void init(Application app) {
        init(app, false);
    }
    
    public static void init(Application app, boolean isBleModel) {
        WPXUtils.log(TAG, "init");
        WPXMain.Bean.wpx.filter.add("NP100");
        if(app != null) {
            WPXMain.Bean.wpx.isInit = true;
            WPXMain.Bean.wpx.isBleModel = isBleModel;
            WPXMain.Bean.wpx.app = app;
            if(isBleModel) {
                WPXMain.Bean.wpx.wblec = com.wpx.WPXBleControl.Bean.getInstance();
                WPXMain.Bean.wpx.wblec.init(app);
            } else {
                WPXMain.Bean.wpx.wbc = com.wpx.WPXBluetoothControl.Bean.getInstance();
                WPXMain.Bean.wpx.wbc.init(app);
                regReceiver();
            }
    
        }
    }
    

    有什么想法吗?感谢你们。

1 个答案:

答案 0 :(得分:3)

在您的清单文件中提及您的应用程序名称

<application
    android:name=".MyApplication"

    >