Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not find method android.app.Notification$Builder.setLocalOnly

Tags:

android

My App has the following Parameters:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "de.munich.myApp"
        minSdkVersion 17
        targetSdkVersion 23
        multiDexEnabled true
    }

    buildTypes {
        debug {
            debuggable true
        }
        release {
            minifyEnabled false
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

I included support package v7:

dependencies {
    compile 'com.google.code.gson:gson:2.4'
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:design:23.2.0'
    compile 'com.android.support:recyclerview-v7:23.2.0'
    compile 'com.android.support:cardview-v7:23.2.0'
}

And now i try to start my App on a Galaxy Ace with Android Version 4.4.2 (API Level 19) and i get many errors because some methods referenced by the android.support.v7 could not be found:

Could not find method android.view.Window$Callback.onSearchRequested, referenced from method android.support.v7.internal.view.WindowCallbackWrapper.onSearchRequested
Could not find method android.view.Window$Callback.onWindowStartingActionMode, referenced from method android.support.v7.internal.view.WindowCallbackWrapper.onWindowStartingActionMode
Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType

Ofcourse the app crashes.

Is there any way for me to fix those problems without having to increase the minSdkVersion?

EDIT

import android.app.Notification;
import android.content.Context;
import android.support.v4.app.NotificationCompat;

public class HelperNotification {

    /**
     *
     * @param context
     * @param title
     * @param message
     * @return
     */
    public static NotificationCompat.Builder buildNotification(Context context, String title, String message) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context);

        builder.setContentTitle(title);
        builder.setContentText(message);

        int defaults = 0;
        defaults = defaults | Notification.DEFAULT_LIGHTS;
        defaults = defaults | Notification.DEFAULT_VIBRATE;
        defaults = defaults | Notification.DEFAULT_SOUND;

        builder.setDefaults(defaults);

        return builder;
    }
}

EDIT 2

I/dalvikvm: Could not find method android.os.UserManager.getApplicationRestrictions, referenced from method com.google.android.gms.common.zze.zzaq
W/dalvikvm: VFY: unable to resolve virtual method 1747: Landroid/os/UserManager;.getApplicationRestrictions (Ljava/lang/String;)Landroid/os/Bundle;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0012
E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.zze.zzb
W/dalvikvm: VFY: unable to resolve check-cast 35 (Landroid/app/AppOpsManager;) in Lcom/google/android/gms/common/zze;
D/dalvikvm: VFY: replacing opcode 0x1f at 0x000e
I/dalvikvm: Could not find method android.content.pm.PackageManager.getPackageInstaller, referenced from method com.google.android.gms.common.zze.zzi
W/dalvikvm: VFY: unable to resolve virtual method 605: Landroid/content/pm/PackageManager;.getPackageInstaller ()Landroid/content/pm/PackageInstaller;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x000b
I/GMPM: App measurement is starting up, version: 8487
I/GMPM: To enable debug logging run: adb shell setprop log.tag.GMPM VERBOSE
E/GMPM: GoogleService failed to initialize, status: 10, Missing an expected resource: 'R.string.google_app_id' for initializing Google services.  Possible causes are missing google-services.json or com.google.gms.google-services gradle plugin.
E/GMPM: Scheduler not set. Not logging error/warn.
E/GMPM: Uploading is not possible. App measurement disabled
D/dalvikvm: GC_CONCURRENT freed 265K, 16% free 8722K/10356K, paused 5ms+2ms, total 26ms
W/dalvikvm: VFY: unable to find class referenced in signature (Lde/hof/my_project/enums/status/images/StatusImageScale;)
W/dalvikvm: VFY: unable to resolve static field 34720 ($SwitchMap$de$hof$my_project$enums$status$images$StatusImageScale) in Lde/hof/my_project/fragments/FragmentSplash$1;
D/dalvikvm: VFY: replacing opcode 0x62 at 0x0000
E/dalvikvm: Could not find class 'de.hof.my_project.tasks.images.TaskImagesScale', referenced from method de.hof.my_project.fragments.FragmentSplash.onViewCreated
W/dalvikvm: VFY: unable to resolve new-instance 9154 (Lde/hof/my_project/tasks/images/TaskImagesScale;) in Lde/hof/my_project/fragments/FragmentSplash;
D/dalvikvm: VFY: replacing opcode 0x22 at 0x0003
D/dalvikvm: DexOpt: unable to opt direct call 0xf89d at 0x05 in Lde/hof/my_project/fragments/FragmentSplash;.onViewCreated

I added some mor log outputs. This is when i run my app on a Samsung Galaxy S3 with API 17 (my minimum required API). Last week, before i updated my libraries from 23.0 to 23.2 everything was working. Now it seems like he cant find some of the classes i defined.

like image 629
Mulgard Avatar asked Jun 20 '26 04:06

Mulgard


1 Answers

Well to answer the question on the title of your question you should change Notification to NotificationCompat, i.e.:

NotificationCompat.Builder.

The regular Notification.Builder has setLocal available only since API 20.

like image 88
Simas Avatar answered Jun 22 '26 16:06

Simas



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!