GVKun编程网logo

android – 如果使用推送服务关闭应用程序,应用程序崩溃:parse.com(安卓app推送服务)

1

本文的目的是介绍android–如果使用推送服务关闭应用程序,应用程序崩溃:parse.com的详细情况,特别关注安卓app推送服务的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现

本文的目的是介绍android – 如果使用推送服务关闭应用程序,应用程序崩溃:parse.com的详细情况,特别关注安卓app推送服务的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解android – 如果使用推送服务关闭应用程序,应用程序崩溃:parse.com的机会,同时也不会遗漏关于AdMob Android 消息传递平台 (UMP) SDK 应用程序崩溃、Android Studio 应用程序崩溃,即使很明显、android – Parse.com,Parse SDK下载SDK中的NO Parse-1.10.3.jar文件、android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件的知识。

本文目录一览:

android – 如果使用推送服务关闭应用程序,应用程序崩溃:parse.com(安卓app推送服务)

android – 如果使用推送服务关闭应用程序,应用程序崩溃:parse.com(安卓app推送服务)

我将清单中的接收器替换为我的:

<receiver android:name="com.myparse.app.MyReceiver"
    android:exported="false">
  <intent-filter>
    <action android:name="com.parse.push.intent.RECEIVE" />
    <action android:name="com.parse.push.intent.DELETE" />
    <action android:name="com.parse.push.intent.OPEN" />
    </intent-filter>
</receiver>

这是我的MyReceiver:

public class MyReceiver extends ParsePushbroadcastReceiver {

    @Override
    protected void onPushReceive(Context mContext,Intent intent) {
//      super.onPushReceive(arg0,arg1);

        if (intent.hasExtra("com.parse.Data")){
            String jsonString=intent.getExtras().getString("com.parse.Data");
            //-------------
    }

   public void onPushOpen(Context context,Intent intent) {

        //To track "App Opens"
        ParseAnalytics.trackAppOpenedInBackground(intent);

        //Here is data you sent
        Log.i("",intent.getExtras().getString( "com.parse.Data" ));

        Intent i = new Intent(context,MainActivity.class);
        i.putExtras(intent.getExtras());
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}

一切正常
但是,如果我关闭应用程序,然后发送推送通知 – >该应用程序崩溃与以下日志:

11-09 21:13:11.621: E/com.parse.PushService(23087): The Parse push service cannot start because Parse.initialize has not yet been called. If you call Parse.initialize from an Activity''s onCreate,that call should instead be in the Application.onCreate. Be sure your Application class is registered in your AndroidManifest.xml with the android:name property of your <application> tag.
11-09 21:13:11.626: E/AndroidRuntime(23087): FATAL EXCEPTION: main
11-09 21:13:11.626: E/AndroidRuntime(23087): java.lang.RuntimeException: Unable to start service com.parse.PushService@4203adb0 with Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10 pkg=com.myparse.app cmp=com.myparse.app/com.parse.PushService (has extras) }: java.lang.RuntimeException: applicationContext is null. You must call Parse.initialize(context,applicationId,clientKey) before using the Parse library.
11-09 21:13:11.626: E/AndroidRuntime(23087):    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2782)
11-09 21:13:11.626: E/AndroidRuntime(23087):    at dalvik.system.NativeStart.main(Native Method)
11-09 21:13:11.626: E/AndroidRuntime(23087): Caused by: java.lang.RuntimeException: applicationContext is null. You must call Parse.initialize(context,clientKey) before using the Parse library.
11-09 21:13:11.626: E/AndroidRuntime(23087):    at com.parse.Parse.checkContext(Parse.java:606)

解决方法

我遇到了同样的问题,并通过添加解决了它
android:name =“.MyApplication”到Android清单中的应用程序标记,然后创建一个如下所示的新类:

public class MyApplication extends Application 
{
    @Override
    public void onCreate() { 
         Parse.initialize(getApplicationContext(),myAppId,myClientKey);
    }
}

以前我将Parse初始化调用放在我的主Activity的onCreate()方法中,但正如您发布的错误消息所示,Android生命周期的细微之处意味着您无法做到这一点.

AdMob Android 消息传递平台 (UMP) SDK 应用程序崩溃

AdMob Android 消息传递平台 (UMP) SDK 应用程序崩溃

如何解决AdMob Android 消息传递平台 (UMP) SDK 应用程序崩溃

我已关注 the guide from documentation 并在我的应用中实现了 SDK。 我在 Firebase 中收到了以下崩溃报告。

  1. Fatal Exception: java.lang.NullPointerException: Attempt to read from field ''c.d.b.c.e.d.y c.d.b.c.e.d.w1.c'' on a null object reference
  2. at com.google.android.gms.internal.consent_sdk.zzj.isConsentFormAvailable(zzj.java:13)
  3. at [my_app_package].MainActivity$1.onConsentInfoUpdateSuccess(MainActivity.java:1035)
  4. at com.google.android.gms.internal.consent_sdk.zzu.run(zzu.java:4)
  5. at android.os.Handler.handleCallback(Handler.java:938)
  6. at android.os.Handler.dispatchMessage(Handler.java:99)
  7. at android.os.Looper.loop(Looper.java:239)
  8. at android.app.ActivityThread.main(ActivityThread.java:8142)
  9. at java.lang.reflect.Method.invoke(Method.java)
  10. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
  11. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)

有人遇到同样的问题吗?

第一行被混淆了。我认为崩溃是因为内部 SDK 问题。有人知道如何解决这个问题吗?

修正:

当我照原样遵循指南时,我遇到了内存泄漏。因此,我将 getApplicationContext() 传递给 UserMessagingPlatform.getConsentinformation()。这就是应用程序崩溃的原因。相反,我通过了这个。一切顺利。为避免内存泄漏,请在 onDestroy() 方法中为 permitinformation 和 permitForm 变量分配 null。它对我有用。

解决方法

我在调用 isConsentFormAvailable() 时也遇到了崩溃:

  1. java.lang.VerifyError: Verifier rejected class tl: void tl.a(tl) failed to verify: void tl.a(tl): [0x42] cannot access instance field v35 d35.b from object of type Reference: java.lang.Object (declaration of ''tl'' appears in /data/app/HTTP://WEBADDRESS.ELIDED--jw7yUT1TEEM3YA7pQGONA==/HTTP://WEBADDRESS.ELIDED)

事实证明需要以下 proguard 规则来修复崩溃:

  1. -keep class com.google.android.gms.internal.consent_sdk.** { <fields>; }
  2. -keepattributes *Annotation*
  3. -keepattributes Signature

Similar rules 存在于旧的同意 SDK 中。

Android Studio 应用程序崩溃,即使很明显

Android Studio 应用程序崩溃,即使很明显

如何解决Android Studio 应用程序崩溃,即使很明显

即使在构建阶段没有问题并且代码中没有错误,我的应用程序也会崩溃。它只是一个空的应用程序,里面基本上没有代码。它不能在模拟器中运行,也不能直接在我的手机中作为 .apk 版本运行。

有代码示例,但我认为这不是问题所在:

 package com.example.justdo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

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

        int value = 10;
        TextView myTextView = (TextView) findViewById(R.id.mainText_ID);
        myTextView.setText(value);
    }
}

解决方法

Textview 只接受 "String" 值。如果要将整数设置为文本,则需要使用 String.valueOf(integer)。

    int value = 10;
    TextView myTextView = (TextView) findViewById(R.id.mainText_ID);
    myTextView.setText(String.valueOf(value));
,

其实是textview中的id用词不当造成的。

抱歉,感谢大家的帮助。

,

Textview 必须包含“String”值。有一些方法可以将整数值放入 Textview。

您可以像这样将整数值转换为字符串值:

  int value = 10;
  TextView myTextView = (TextView) findViewById(R.id.mainText_ID);
  myTextView.setText(String.valueOf(value));

或者用整数值连接文本:

 int value = 10;
 TextView myTextView = (TextView) findViewById(R.id.mainText_ID);
 myTextView.setText("" + value);

android – Parse.com,Parse SDK下载SDK中的NO Parse-1.10.3.jar文件

android – Parse.com,Parse SDK下载SDK中的NO Parse-1.10.3.jar文件

我已经做了多种故障排除来解决这个问题.无济于事.我疯了,试图解决这个问题,它只是不存在.当我下载sdk并从zip中提取它时,有一个bolt jar文件,但不是常规的parse jar文件,但是属性文件在sdk中…而不是parse jar文件..

解决方法

为什么你仍然使用旧的方法,因为Parse SDK变成了 open source你可以通过在build.gradle中添加这一行来添加SDK,它更容易和更清洁.
dependencies {
    compile 'com.parse:parse-android:1.12.0'
}

或者如果您愿意,可以下载the latest JAR.

android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件

android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件

我正在尝试制作一个打开本地html页面的应用程序,该页面具有链接到其他2个页面的超链接.所有这些html文件都放置在资产文件夹中.现在,当我触摸第一个html文件中的超链接时,该应用程序崩溃,打开了另一个html文件.

package com.example.rishabh.webviewdemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {
    WebView web;

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

        web= (WebView) findViewById(R.id.webview);
        web.loadUrl("file:///android_asset/1.html");
    }
}

这是日志

W/System.err: android.os.FileUriExposedException:file:///android_asset/2.html exposed beyond app through Intent.getData()
W/System.err:     at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799)
W/System.err:     at android.net.Uri.checkFileUriExposed(Uri.java:2346)
W/System.err:     at android.content.Intent.preparetoLeaveProcess(Intent.java:8965)
W/System.err:     at android.content.Intent.preparetoLeaveProcess(Intent.java:8926)
W/System.err:     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1517)
W/System.err:     at android.app.Activity.startActivityForResult(Activity.java:4225)
W/System.err:     at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
W/System.err:     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:77)
W/System.err:     at android.app.Activity.startActivityForResult(Activity.java:4183)
W/System.err:     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
W/System.err:     at android.app.Activity.startActivity(Activity.java:4522)
W/System.err:     at android.app.Activity.startActivity(Activity.java:4490)
W/System.err:     at android.content.Contextwrapper.startActivity(Contextwrapper.java:356)
W/System.err:     at org.chromium.android_webview.ResourcesContextwrapperFactory$WebViewContextwrapper.startActivity(ResourcesContextwrapperFactory.java:121)
W/System.err:     at org.chromium.android_webview.AwContentsClient.sendbrowsingIntent(AwContentsClient.java:203)
W/System.err:     at org.chromium.android_webview.AwContentsClient.shouldIgnoreNavigation(AwContentsClient.java:170)
W/System.err:     at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(AwContentsClientBridge.java:256)
W/System.err:     at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/System.err:     at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err:     at android.os.Looper.loop(Looper.java:154)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:6119)
W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
 A/chromium: [FATAL:jni_android.cc(236)] Please include Java exception stack in crash report
W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
W/google-breakpad: Chrome build fingerprint:
W/google-breakpad: 1.0
W/google-breakpad: 1
W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
    A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 4203 (abh.webviewdemo)

    [ 11-13 22:33:57.340  1186: 1186 W/         ]
    debuggerd: handling request: pid=4203 uid=10073 gid=10073 tid=4203
Application terminated.

解决方法:

正如@CommonsWare建议的那样,似乎仅使用以下方法即可解决N / 25设备尝试加载基于资产的链接html文件的问题.
在运行牛轧糖的模拟器上进行了测试:

    web.setWebViewClient(new WebViewClient()
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            Log.i("WebView", "Attempting to load URL: " + url);

            view.loadUrl(url);
            return true;
        }
    });

我们今天的关于android – 如果使用推送服务关闭应用程序,应用程序崩溃:parse.com安卓app推送服务的分享已经告一段落,感谢您的关注,如果您想了解更多关于AdMob Android 消息传递平台 (UMP) SDK 应用程序崩溃、Android Studio 应用程序崩溃,即使很明显、android – Parse.com,Parse SDK下载SDK中的NO Parse-1.10.3.jar文件、android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件的相关信息,请在本站查询。

本文标签: