热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ANR问题:IFrameworks.serviceManagerGetService报空指针异常该怎么处理?

1.错误日志:

1.错误日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
11-25 10:29:26.583 10487-10515/myapplication.com.myblue I/ViewRootImpl: ANR Key Analyze: No Key event currently.

11-25 10:29:26.584 10487-10515/myapplication.com.myblue I/ViewRootImpl: ANR Key Analyze: Previeous Event null,finish at 1970-01-01 08:00:00.000

11-25 10:29:26.584 10487-10515/myapplication.com.myblue I/ViewRootImpl: ANR Motion Analyze: No motion event currently.

11-25 10:29:26.584 10487-10515/myapplication.com.myblue I/ViewRootImpl: ANR Motion Analyze: Previeous Event MotionEvent { action=ACTION_UP, id[0]=0, x[0]=1002.07983, y[0]=140.94196, toolType[0]=TOOL_TYPE_FINGER, buttOnState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=224048681, downTime=224048339, deviceId=3, source=0x1002 },finish at 2016-11-25 10:26:21.164

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/Binder: Caught a RuntimeException from the binder stub implementation.

                                                                  java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.mediatek.anrappmanager.IFrameworks.serviceManagerGetService(java.lang.String)' on a null object reference

                                                                      at com.mediatek.anrappmanager.ANRManagerNative$1.b(SourceFile:77)

                                                                      at com.mediatek.anrappmanager.ANRManagerNative$1.c(SourceFile:75)

                                                                      at com.mediatek.anrappmanager.ANRManagerNative$a.get(SourceFile:97)

                                                                      at com.mediatek.anrappmanager.ANRManagerNative.getDefault(SourceFile:35)

                                                                      at com.mediatek.anrappmanager.ANRAppManager.dumpMessageHistory(SourceFile:59)

                                                                      at android.app.ActivityThread$ApplicationThread.dumpMessageHistory(ActivityThread.java:1315)

                                                                      at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:687)

                                                                      at android.os.Binder.execTransact(Binder.java:454)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err: java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.mediatek.anrappmanager.IFrameworks.serviceManagerGetService(java.lang.String)' on a null object reference

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative$1.b(SourceFile:77)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative$1.c(SourceFile:75)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative$a.get(SourceFile:97)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative.getDefault(SourceFile:35)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at com.mediatek.anrappmanager.ANRAppManager.dumpMessageHistory(SourceFile:59)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at android.app.ActivityThread$ApplicationThread.dumpMessageHistory(ActivityThread.java:1315)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:687)

11-25 10:29:26.706 10487-10698/myapplication.com.myblue W/System.err:     at android.os.Binder.execTransact(Binder.java:454)

2.代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
package myapplication.com.myblue.activity;



import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothDevice;

import android.bluetooth.BluetoothSocket;

import android.content.Intent;

import android.os.Handler;

import android.os.Message;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.TextView;



import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.text.SimpleDateFormat;

import java.util.Timer;

import java.util.TimerTask;

import java.util.UUID;



import myapplication.com.myblue.R;



public class Zhuye_Activity extends AppCompatActivity {



    TextView textView1,textView_time,textView_lianjie;

    ImageView imageView1;

    EditText edittext;

    Button button_send;

    private BluetoothSocket btSocket = null;

    private OutputStream outStream = null;

    private InputStream inStream = null;

    private BluetoothAdapter BA;

    private  String address = "";

    private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_zhuye);

        Intent intent=getIntent();

        String mac=intent.getStringExtra("mac");

        String []a=mac.split("\\*");

        address=a[1].trim();



        initView();

        textView1.setText(mac);

    }

    public void initView(){

        BA = BluetoothAdapter.getDefaultAdapter();

        BA.enable();

        button_send= (Button) findViewById(R.id.button_send);

        edittext= (EditText) findViewById(R.id.edittext);

        textView1= (TextView) findViewById(R.id.textview1);

        textView_time= (TextView) findViewById(R.id.textView_time);

        SimpleDateFormat    sDateFormat   = new SimpleDateFormat("yyyy-MM-dd    hh:mm:ss");

        String    date    =    sDateFormat.format(new  java.util.Date());

        textView_time.setText(date);

        imageView1= (ImageView) findViewById(R.id.imageView1);

        textView_lianjie= (TextView) findViewById(R.id.textView_lianjie);

        textView_lianjie.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                connect();

            }

        });

        imageView1.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                finish();

            }

        });

        button_send.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                String s=edittext.getText().toString().trim();

                byte[] a=s.getBytes();

                try {

                    outStream.write(a);

                } catch (IOException e) {

                    e.printStackTrace();

                }



            }

        });



        /**

         * 创建定时器,1000ms更新一次时间

         * **/

     //   Timer timer = new Timer();

       // timer.schedule(timerTask, 0, 10000);

    }



    /**

    * 连接蓝牙设备

    *

    * ***/



    public void connect(){



        BluetoothDevice device = BA.getRemoteDevice(address);

        try {

            btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);

        } catch (IOException e) {

            System.out.println("**109"+e.toString());



        }

       // BA.cancelDiscovery();



                try {

                    btSocket.connect();

                    outStream = btSocket.getOutputStream();

                   outStream.write(0x61);

                  outStream.write(0x41);

                    inStream = btSocket.getInputStream();

                    System.out.println("**"+inStream.toString());

                   System.out.println("**"+inStream.read());

                   int x = inStream.read();

                   outStream.write(x + 1);

                } catch (IOException e) {

                    System.out.println("**124"+e.toString());

                }







        try {

            btSocket.close();

        } catch (Exception e2) {



            // Log .e(TAG,"ON RESUME: Unable to close socket during connection failure", e2);

        }

    }

//    public void connect(){

//        BA = BluetoothAdapter.getDefaultAdapter();

//        BluetoothDevice device = BA.getRemoteDevice(address);

//      // pairedDevices = BA.getBondedDevices();

//        try {

//

//            btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);

//

//        } catch (IOException e) {

//

//            Log.d("T109",e.toString());

//        }

//     //  BA.cancelDiscovery();

//        try {

//

//       //     new Thread(new Runnable() {

//            //    @Override

//           //     public void run() {

//                  //  try {

//                        btSocket.connect();

//                        outStream = btSocket.getOutputStream();

//                        inStream = btSocket.getInputStream();

//                  //  } catch (IOException e) {

//                      //  e.printStackTrace();

//                  //  }

//            //    }

//          //  }).start();

//

////            outStream = btSocket.getOutputStream();

////            String s="guoxiwang";

////            byte by[]=s.getBytes();

////            outStream.write(12345566);

////            outStream.write(by);

////

////            outStream.write(0x61);

////            outStream.write(0x41);

////            inStream = btSocket.getInputStream();

////            System.out.println("**"+inStream.toString());

////            System.out.println("**"+inStream.read());

////            int x = inStream.read();

////            outStream.write(x + 1);

//

//        } catch (Exception e) {

//        }

//        try {

//            btSocket.close();

//        } catch (IOException e2) {

//

//            // Log .e(TAG,"ON RESUME: Unable to close socket during connection failure", e2);

//        }

//    }

    /***

     * handler+TimerTask 实现更新时间

     *

     * ***/

    Handler handler=new Handler(){

        public void handleMessage(android.os.Message msg) {

            switch (msg.what) {

                case 200:

                    SimpleDateFormat sDateFormat   = new SimpleDateFormat("yyyy-MM-dd    hh:mm:ss");

                    String    date    =    sDateFormat.format(new  java.util.Date());

                    textView_time.setText(date);

                    break;

            }



        }

    };

    TimerTask timerTask = new TimerTask() {



        @Override

        public void run() {

            Message message = new Message();

            message.what = 200;

            // message.obj = view;

            handler.sendMessage(message);

        }

    };







}



推荐阅读
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • ScrollView嵌套Collectionview无痕衔接四向滚动,支持自定义TitleView
    本文介绍了如何实现ScrollView嵌套Collectionview无痕衔接四向滚动,并支持自定义TitleView。通过使用MainScrollView作为最底层,headView作为上部分,TitleView作为中间部分,Collectionview作为下面部分,实现了滚动效果。同时还介绍了使用runtime拦截_notifyDidScroll方法来实现滚动代理的方法。具体实现代码可以在github地址中找到。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
author-avatar
sysv
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有