日志分析找到弹出toast的应用

我们有时候手机在运行过程中,触发某些条件,会弹出toast,但是有时候会对我们造成困扰,因为不是我们应用弹出来,但是发生的场景又是在我们应用操作过程中发现的。所以这个时候就需要对日志进行分析,找出正在弹出toast的地方。

public void show() {
        if (mNextView == null) {
            throw new RuntimeException("setView must have been called");
        }

        INotificationManager service = getService();
        String pkg = mContext.getOpPackageName();
        TN tn = mTN;
        tn.mNextView = mNextView;

        try {
            service.enqueueToast(pkg, tn, mDuration);
        } catch (RemoteException e) {
            // Empty
        }
    }

NotificationManagerService.java
if (DBG) {
                Slog.i(TAG, "enqueueToast pkg=" + pkg + " callback=" + callback
                        + " duration=" + duration);
            }

            if (pkg == null || callback == null) {
                Slog.e(TAG, "Not doing toast. pkg=" + pkg + " callback=" + callback);
                return ;
            }

adb logcat | grep  enqueueToast  
我们通过logcat就可以看到弹出toast的对应应用的包名,这样就可以让对应负责人进行修改。

你可能感兴趣的:(android)