2014-05-14 90 views
-1

我正在处理一个项目,并希望读取通话记录并将它们写入文件并将其发送到服务器。我的代码阅读通话记录在单独的项目中正常工作。但是,当将代码与原始项目集成时,会导致NullPointerException。所有权限都已验证。 这里是我的代码ManagedQuery导致nullpointerexception

BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
       buf.append("Testing "); 
       buf.newLine(); 
       sb = new StringBuffer(); 
       Uri str = CallLog.Calls.CONTENT_URI; 
       str.toString(); 
       Log.e("TAG", str.toString()); 


        @SuppressWarnings("deprecation") 
      Cursor managedCursor =managedQuery(CallLog.Calls.CONTENT_URI, null, 
          null, null, null); 
       Log.e("TAG", "in while " + ++i); 
       int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER); 
       int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE); 
       int date = managedCursor.getColumnIndex(CallLog.Calls.DATE); 
       int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION); 
       sb.append("Call Details :"); 

logcat中显示了这种错误 05-15 16:17:14.107:E/AndroidRuntime(20715):致命异常:主要 05-15 16:17:14.107:E/AndroidRuntime (20715):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.atu_proto/com.example.atu_proto.MenuList}:java.lang.NullPointerException

05-15 16:17:14.107:E/AndroidRuntime(20715):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2313)

05-15 16:17:14.107 :E/AndroidRuntime(20715):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2365)

05-15 16:17:14.107:E/AndroidRuntime(20715):at android.app.ActivityThread。访问$ 600(ActivityThread.java:156)

05-15 16:17:14.107:E/AndroidRuntime(20715):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)

05-15 16:17:14.107:E/AndroidRuntime(20715):at android.os.Handler.dispatchMessage(Handler.java:99)

05-15 16:17:14.107:E/AndroidRuntime(20715) :在android.os.Looper.loop(Looper.ja VA:153)

05-15 16:17:14.107:E/AndroidRuntime(20715):在android.app.ActivityThread.main(ActivityThread.java:5336)

05-15 16:17: 14.107:E/AndroidRuntime(20715):在java.lang.reflect.Method.invokeNative(本机方法)

05-15 16:17:14.107:E/AndroidRuntime(20715):在java.lang.reflect。 Method.invoke(Method.java:511)

05-15 16:17:14.107:E/AndroidRuntime(20715):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:833 )

05-15 16:17:14.107:E/AndroidRuntime(20715):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)

05-15 16:17:14.107: E/AndroidRuntime(20715):在dalvik.system.NativeStart.main(本机方法)

05-15 16:17:14.107:E/AndroidRuntime(20715):产生的原因:显示java.lang.NullPointerException

05-15 16:17:14.107:E/AndroidRuntime(20715):在android.content.ContextWrapper.getContentResolver(ContextWrapper.java:99)

05-15 16:17:14.107:E/AndroidRuntime(20715 ): 晒黑droid.app.Activity.managedQuery(Activity.java:1751)

05-15 16:17:14.107:E/AndroidRuntime(20715):在com.example.atu_proto.CallLogsRetrieve.getCallDetails(CallLogsRetrieve.java:89 )

05-15 16:17:14.107:E/AndroidRuntime(20715):at com.example.atu_proto.MenuList.onCreate(MenuList。的java:78)

05-15 16:17:14.107:E/AndroidRuntime(20715):在android.app.Activity.performCreate(Activity.java:5122)

05-15 16:17: 14.107:E/AndroidRuntime(20715):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)

05-15 16:17:14.107:E/AndroidRuntime(20715):at android.app.ActivityThread .performLaunchActivity(ActivityThread.java:2277) 05-15 16:17:14.107:E/AndroidRuntime(20715):... 11更

+0

可以附加logcat请 –

+0

如果您收到异常,请始终在您的问题中包含logcat。 –

+0

我已附加logcat输出。请检查这个。 – theanis46

回答

0

05-15 16:1 7:14.107:E/AndroidRuntime(20715):导致:java.lang.NullPointerException

05-15 16:17:14.107:E/AndroidRuntime(20715):在android.content.ContextWrapper.getContentResolver(ContextWrapper。的java:99)

...

05-15 16:17:14.107:E/AndroidRuntime(20715):在com.example.atu_proto.CallLogsRetrieve.getCallDetails(CallLogsRetrieve.java:89)

05-15 16:17:14.107:E/AndroidRuntime(20715):at com.example.atu_proto.MenuList.onCreate(MenuList.java:78)

这表明您正在调用您的MenuList活动中的其他活动,可能会使用new创建其他活动。

永远不要通过new实例化活动。

在这种情况下,CallLogsRetrieve似乎不应该是一项活动,您可以将Activity引用作为参数传递给需要它的方法。

+0

Thanx alot ... laalto .. :) :) :) 你的指导做了我的工作。 :) 我删除了活动,并通过参考以前的活动和工作为我做:) thanx很多:) – theanis46

相关问题