diff --git a/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java b/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java
index e8207c7..7589dc4 100644
--- a/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java
@@ -104,7 +104,8 @@
       return false;
   }
 
-  @Rpc(description = "Returns a list of packages running activities or services.", returns = "List of packages running activities.")
+  @Rpc(description = "Returns a list of packages running activities or services.",
+          returns = "List of packages running activities.")
   public List<String> getRunningPackages() {
     Set<String> runningPackages = new HashSet<String>();
     List<ActivityManager.RunningAppProcessInfo> appProcesses =
@@ -120,10 +121,18 @@
     return new ArrayList<String>(runningPackages);
   }
 
-  @Rpc(description = "Force stops a package.")
+  /**
+   * Force stops a package. Equivalent to calling `am force-stop "package.name"` as root.
+   * <p>
+   * If you have access to adb, it is preferred to use the above command instead.
+   *
+   * @param packageName the name of the package to force stop
+   */
+  @Rpc(description = "Force stops a package. Equivalent to `adb shell am force-stop "
+          + "\"package.name\"`. If possible, use that command instead.")
   public void forceStopPackage(
       @RpcParameter(name = "packageName", description = "name of package") String packageName) {
-    mActivityManager.restartPackage(packageName);
+    mActivityManager.forceStopPackage(packageName);
   }
 
   @Override
diff --git a/ScriptingLayerForAndroid/src/com/googlecode/android_scripting/activity/TriggerService.java b/ScriptingLayerForAndroid/src/com/googlecode/android_scripting/activity/TriggerService.java
index c27a238..c40cd55 100644
--- a/ScriptingLayerForAndroid/src/com/googlecode/android_scripting/activity/TriggerService.java
+++ b/ScriptingLayerForAndroid/src/com/googlecode/android_scripting/activity/TriggerService.java
@@ -83,7 +83,6 @@
   @Override
   public void onCreate() {
     super.onCreate();
-    createNotificationChannel();
 
     mFacadeManager =
         new FacadeManager(FacadeConfiguration.getSdkLevel(), this, null,
@@ -119,6 +118,7 @@
   /** Returns the notification to display whenever the service is running. */
   @Override
   protected Notification createNotification() {
+    createNotificationChannel();
     Intent notificationIntent = new Intent(this, TriggerManager.class);
     Notification.Builder builder = new Notification.Builder(this, CHANNEL_ID);
     builder.setSmallIcon(R.drawable.sl4a_logo_48)
