public void onCreate() { super.onCreate(); Log.m11091e("dddd", "Call SipLibService onCreate"); Log.m11095i(START_LINPHONE_LOGS); this.mNM = (NotificationManager) getSystemService("notification"); LinphoneManager.createAndStart(this, this); this.mWifiManager = (WifiManager) getSystemService("wifi"); if (Version.sdkAboveOrEqual(12)) { startWifiLock(); } instance = this; if (Version.sdkStrictlyBelow(5)) { try { getClass().getMethod("setForeground", mSetFgSign); } catch (Throwable e) { Log.m11090e(e, "Couldn't find foreground method"); } } else { try { getClass().getMethod("startForeground", mStartFgSign); getClass().getMethod("stopForeground", mStopFgSign); } catch (Throwable e2) { Log.m11090e(e2, "Couldn't find startGoreground or stopForeground"); } } if (!this.mTestDelayElapsed) { this.mHandler.postDelayed(new C27971(), 5000); } this.mKeepAlivePendingIntent = PendingIntent.getBroadcast( this, IC_LEVEL_ORANGE, new Intent(this, KeepAliveHandler.class), 1073741824); ((AlarmManager) getSystemService("alarm")) .setRepeating(2, SystemClock.elapsedRealtime() + 1000, 60000, this.mKeepAlivePendingIntent); }
@Override public void onCreate() { super.onCreate(); android.util.Log.d("LinphoneService", "onCreate()"); // In case restart after a crash. Main in LinphoneActivity LinphonePreferenceManager.getInstance(this); // Set default preferences PreferenceManager.setDefaultValues(this, R.get("xml", "preferences"), true); // mNotificationTitle = getString(R.get("string", "app_name")); // Dump some debugging information to the logs Log.i(START_LINPHONE_LOGS); dumpDeviceInformation(); dumpInstalledLinphoneInformation(); // mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // mNM.cancel(INCALL_NOTIF_ID); // in case of crash the icon is not removed // mNotif = new Notification(R.get("drawable", "status_level"), "", // System.currentTimeMillis()); // mNotif.iconLevel=IC_LEVEL_ORANGE; // mNotif.flags |= Notification.FLAG_ONGOING_EVENT; // Intent notifIntent = new Intent(); // notifIntent.addCategory(Intent.CATEGORY_LAUNCHER); // notifIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | // Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); // notifIntent.setClassName(ALModuleProxy.PKG_NAME, ALModuleProxy.PKG_NAME + "." + // ALModuleProxy.ACT_NAME); // notifIntent.setAction(Intent.ACTION_MAIN); // mNotifContentIntent = PendingIntent.getActivity(this, 0, notifIntent, 0); // mNotif.setLatestEventInfo(this, mNotificationTitle,"", mNotifContentIntent); LinphoneManager.createAndStart(this, this); LinphoneManager.getLc().setPresenceInfo(0, null, OnlineStatus.Online); mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); mWifiLock = mWifiManager.createWifiLock( WifiManager.WIFI_MODE_FULL_HIGH_PERF, this.getPackageName() + "-wifi-call-lock"); mWifiLock.setReferenceCounted(false); instance = this; // instance is ready once linphone manager has been created // Retrieve methods to publish notification and keep Android // from killing us and keep the audio quality high. if (Version.sdkStrictlyBelow(Version.API05_ECLAIR_20)) { try { mSetForeground = getClass().getMethod("setForeground", mSetFgSign); } catch (NoSuchMethodException e) { Log.e(e, "Couldn't find foreground method"); } } else { try { mStartForeground = getClass().getMethod("startForeground", mStartFgSign); mStopForeground = getClass().getMethod("stopForeground", mStopFgSign); } catch (NoSuchMethodException e) { Log.e(e, "Couldn't find startGoreground or stopForeground"); } } // startForegroundCompat(NOTIF_ID, mNotif); LinphoneManager.setOnTextReceivedListener(this); if (!mTestDelayElapsed) { // Only used when testing. Simulates a 5 seconds delay for launching service mHandler.postDelayed( new Runnable() { @Override public void run() { mTestDelayElapsed = true; } }, 5000); } }