0

当应用程序进入前台时应用程序崩溃。当应用程序被杀死并重新启动时,它不会崩溃,但是当它被最小化并重新打开时,它会崩溃并出现以下异常

internal.os.ZygoteInit.main(ZygoteInit.java:616) 10-23 13:26:14.136 7406-7406/? I/Process:发送信号。PID:7406 SIG:9

我确实尝试了NoClassDefFoundError的解决方案,但没有奏效。我对它在重新启动时运行感到困惑,但在从最小化状态进入前台时却没有。

以下是我的应用类:

public class AppController extends Application implements PushManager.OnTokenReceivedListener {
    MoEHelper helper;

    @Override
    public void onCreate() {
        super.onCreate();

        helper = MoEHelper.getInstance(getApplicationContext());
        helper.autoIntegrate(this);
        PushManager.getInstance().setTokenObserver(this);

        Log.e("TAG", "onCreate() AppController");
        SharedPreferences pref = getApplicationContext().getSharedPreferences("MoTest", Context.MODE_PRIVATE);
        if (pref.contains("newInstall")) {
            helper.setExistingUser(true);
        } else {
            helper.setExistingUser(false);
        }

    }

    @Override
    public void onTokenReceived(String token) {
        Log.e("TAG", "Appcontroller Token: " + token);
    }
}

这是我的 MainActivity:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
}
4

2 回答 2

2

如果您有位置权限,MoEngage SDK 假定您的应用程序具有位置服务依赖项,这里也是如此。话虽如此,SDK 提供了一种排除位置库的机制,以防您不想使用我们的地理围栏功能。这可以按如下方式完成:

compile ('com.moengage:moe-android-sdk:7.7.16') {
        exclude group: 'com.moengage', module: 'moe-location-lib'
    }

您可以在此处参考官方文档以获取更多详细信息。

PS:我是 MoEngage SDK 的贡献者之一。让我知道这是否没有解决。

于 2017-10-24T02:27:22.140 回答
1

检查您的LocationHandlerImpl.java文件并查看GoogleApiClientLocationServices是否已解决。有可能您没有添加位置服务的依赖项。

如果它们未解决,请将相应的依赖项添加到您的 Gradle 文件中

'com.google.android.gms:play-services-location:XXX'

同步并尝试再次运行它。那应该做的工作

于 2017-10-23T11:08:41.783 回答