安装chcking软件包时应用程序崩溃,否则

时间:2019-01-11 06:56:24

标签: crash

我使用此代码检查设备上是否安装了com.farsitel.bazaar软件包

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {


        if (isPackageInstalled("com.farsitel.bazaar")) {
            // Bazar is installed
            try {
                mHelper.launchPurchaseFlow(MainActivity.this, SKU_PREMIUM1, RC_REQUEST, mPurchaseFinishedListener, "payload-string");
            }
            catch (Exception e) {
                e.printStackTrace();
                Toast.makeText(MainActivity.this,
                        "پرداخت موفق نبود لطفا دوباره سعی کنید", Toast.LENGTH_SHORT).show();
            }
        }
        else {
            Toast.makeText(MainActivity.this,
                    "لطفا برنامه کافه بازار را نصب کنید", Toast.LENGTH_SHORT).show();
            // not installed
        }

    }
}, 2000);





public boolean isPackageInstalled(String PackageName) {
    PackageManager manager = getPackageManager();
    boolean isAppInstalled = false;
    try {
        manager.getPackageInfo(PackageName, PackageManager.GET_ACTIVITIES);
        isAppInstalled = true;
    }
    catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return isAppInstalled;
}

安装软件包时,一切正常,没有错误,但未安装软件包时,应用崩溃,并在日志中出现以下错误:

01-11 10:24:09.646 1048-1720/? E/msm8974_platform: platform_check_backends_match: Invalid snd_device = 

01-11 10:24:09.646 1048-1720 /? E / msm8974_platform:platform_check_backends_match:无效的snd_device = 01-11 10:24:09.646 1048-1720 /? E / audio_hw_primary:enable_snd_device:输入2 01-11 10:24:09.647 1048-1720 /? E / msm8974_platform:platform_get_snd_device_backend_index:BE DAI名称表不存在 01-11 10:24:09.647 1048-1720 /? E / audio_hw_utils:send_app_type_cfg_for_device:无法获得snd设备扬声器保护的ret = -14的后端索引 01-11 10:24:09.649 1048-1720 /? E / ACDB-LOADER:错误:ACDB AudProc卷返回= -19 01-11 10:24:09.649 27577-27577 /? E / IabHelper:应用内结算错误:操作状态非法(queryInventory):未设置IAB帮助程序。 01-11 10:24:09.652 27577-27577 /? E / AndroidRuntime:致命异常:main                                                    流程:ir.omino.sorkho,PID:27577                                                    java.lang.IllegalStateException:未设置IAB帮助器。无法执行操作:queryInventory                                                        在ir.omino.sorkho.Utils.IabHelper.checkSetupDone(IabHelper.java:782)                                                        在ir.omino.sorkho.Utils.IabHelper.queryInventoryAsync(IabHelper.java:610)                                                        在ir.omino.sorkho.Utils.IabHelper.queryInventoryAsync(IabHelper.java:639)                                                        在ir.omino.sorkho.MainActivity $ 50.onIabSetupFinished(MainActivity.java:2696)                                                        在ir.omino.sorkho.Utils.IabHelper.startSetup(IabHelper.java:274)                                                        在ir.omino.sorkho.MainActivity.buy4(MainActivity.java:2687)                                                        在ir.omino.sorkho.MainActivity $ 9.onClick(MainActivity.java:667)                                                        在android.view.View.performClick(View.java:6274)                                                        在android.view.View $ PerformClick.run(View.java:24859)                                                        在android.os.Handler.handleCallback(Handler.java:789)                                                        在android.os.Handler.dispatchMessage(Handler.java:98)                                                        在android.os.Looper.loop(Looper.java:164)                                                        在android.app.ActivityThread.main(ActivityThread.java:6710)                                                        在java.lang.reflect.Method.invoke(本机方法)                                                        在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)                                                        在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770) 01-11 10:24:09.654 27577-27577 /? E / Pushe:捕获到异常                                           java.lang.IllegalStateException:未设置IAB帮助器。无法执行操作:queryInventory                                               在ir.omino.sorkho.Utils.IabHelper.checkSetupDone(IabHelper.java:782)                                               在ir.omino.sorkho.Utils.IabHelper.queryInventoryAsync(IabHelper.java:610)                                               在ir.omino.sorkho.Utils.IabHelper.queryInventoryAsync(IabHelper.java:639)                                               在ir.omino.sorkho.MainActivity $ 50.onIabSetupFinished(MainActivity.java:2696)                                               在ir.omino.sorkho.Utils.IabHelper.startSetup(IabHelper.java:274)                                               在ir.omino.sorkho.MainActivity.buy4(MainActivity.java:2687)                                               在ir.omino.sorkho.MainActivity $ 9.onClick(MainActivity.java:667)                                               在android.view.View.performClick(View.java:6274)                                               在android.view.View $ PerformClick.run(View.java:24859)                                               在android.os.Handler.handleCallback(Handler.java:789)                                               在android.os.Handler.dispatchMessage(Handler.java:98)                                               在android.os.Looper.loop(Looper.java:164)                                               在android.app.ActivityThread.main(ActivityThread.java:6710)                                               在java.lang.reflect.Method.invoke(本机方法)                                               在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)                                               在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770) 01-11 10:24:10.335 2182-2435 /? E / PBSessionCacheImpl:sessionId [9598084607418021]未持久。 01-11 10:24:16.271 1048-1720 /? E / msm8974_platform:platform_check_backends_match:无效的snd_device = 01-11 10:24:16.271 1048-1720 /? E / msm8974_platform:platform_check_backends_match:无效的snd_device = 01-11 10:24:16.271 1048-1720 /? E / audio_hw_primary:enable_snd_device:输入2 01-11 10:24:16.272 1048-1720 /? E / msm8974_platform:platform_get_snd_device_backend_index:BE DAI名称表不存在 01-11 10:24:16.272 1048-1720 /? E / audio_hw_utils:send_app_type_cfg_for_device:无法获得snd设备扬声器保护的ret = -14的后端索引 01-11 10:24:16.272 1048-1720 /? E / ACDB-LOADER:错误:ACDB AudProc卷返回= -19 01-11 10:24:16.332 1514-2301 /? E / ConnectivityService:RemoteException异常,试图为NetworkRequest发送回调消息[侦听ID = 844,[功能:INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND]] 01-11 10:24:16.347 1514-13472 /? E / ActivityManager:applyOptionsLocked:未知animationType = 0 01-11 10:24:17.233 1073-27753 /? E / MediaExtractor:跟踪连接0xea661380 0xea674c00 01-11 10:24:17.473 1157-19681 /? E / OMXNodeInstance:setConfig(0xe69f56e0:google.mp3.decoder,ConfigPriority(0x6f800002))错误:未定义(0x80001001) 01-11 10:24:17.474 1157-19681 /? E / OMXNodeInstance:setConfig(0xe69f56e0:google.mp3.decoder,ConfigPriority(0x6f800002))错误:未定义(0x80001001) 01-11 10:24:17.474 1157-7510 /? E / OMXNodeInstance:getConfig(0xe69f56e0:google.mp3.decoder,ConfigAndroidVendorExtension(0x6f100004))错误:未定义(0x80001001) 01-11 10:24:17.907 27722-27764 / ir.omino.sorkho E / Volley:[8068] NetworkDispatcher.processRequest:未处理的异常java.lang.NullPointerException:尝试调用虚拟方法'int java.lang.String.length ()'在空对象引用上                                                          java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'int java.lang.String.length()'                                                              在java.net.URLEncoder.encode(URLEncoder.java:204)                                                              在com.android.volley.Request.encodeParameters(Request.java:491)                                                              在com.android.volley.Request.getBody(Request.java:477)                                                              在com.android.volley.toolbox.HurlStack.addBodyIfExists(HurlStack.java:245)                                                              在com.android.volley.toolbox.HurlStack.setConnectionParametersForRequest(HurlStack.java:219)                                                              在com.android.volley.toolbox.HurlStack.executeRequest(HurlStack.java:97)                                                              在com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:131)                                                              在com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:120)                                                              在com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:87) 01-11 10:24:18.195 27722-27722 / ir.omino.sorkho E /开始待定服务:0 01-11 10:24:18.287 656-656 /? E / HWComposer:presentAndGetReleaseFences:显示失败0:未验证(7)

在未安装软件包的情况下如何防止夹缝?

0 个答案:

没有答案