Logcat是这样的..
05-25 08:57:37.636: E/AndroidRuntime(510): FATAL EXCEPTION: main
05-25 08:57:37.636: E/AndroidRuntime(510): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{sim.activity/sim.activity.SIMActivity}: java.lang.NullPointerException
05-25 08:57:37.636: E/AndroidRuntime(510): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.os.Handler.dispatchMessage(Handler.java:99)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.os.Looper.loop(Looper.java:123)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-25 08:57:37.636: E/AndroidRuntime(510): at java.lang.reflect.Method.invokeNative(Native Method)
05-25 08:57:37.636: E/AndroidRuntime(510): at java.lang.reflect.Method.invoke(Method.java:507)
05-25 08:57:37.636: E/AndroidRuntime(510): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-25 08:57:37.636: E/AndroidRuntime(510): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-25 08:57:37.636: E/AndroidRuntime(510): at dalvik.system.NativeStart.main(Native Method)
05-25 08:57:37.636: E/AndroidRuntime(510): Caused by: java.lang.NullPointerException
05-25 08:57:37.636: E/AndroidRuntime(510): at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.view.View.<init>(View.java:1874)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.view.View.<init>(View.java:1921)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.view.ViewGroup.<init>(ViewGroup.java:292)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:52)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.webkit.WebView.<init>(WebView.java:975)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.webkit.WebView.<init>(WebView.java:958)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.webkit.WebView.<init>(WebView.java:948)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.webkit.WebView.<init>(WebView.java:939)
05-25 08:57:37.636: E/AndroidRuntime(510): at sim.activity.SIMActivity.<init>(SIMActivity.java:33)
05-25 08:57:37.636: E/AndroidRuntime(510): at java.lang.Class.newInstanceImpl(Native Method)
05-25 08:57:37.636: E/AndroidRuntime(510): at java.lang.Class.newInstance(Class.java:1409)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-25 08:57:37.636: E/AndroidRuntime(510): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
05-25 08:57:37.636: E/AndroidRuntime(510): ... 11 more
之前出现过一次..有个String忘了加null判定..但是这次我实在找不出问题了..求帮助= =
代码还没写完..见笑=。=
- Java code
package sim.activity;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.TelephonyManager;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.webkit.WebChromeClient;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.TextView;public class SIMActivity extends Activity { /** Called when the activity is first created. */ private WebView webView = new WebView(this); private Menu menu; private int group1 = 1; private int group2 = 2; private Context mContext; private Notification mNotification; private NotificationManager mNotificationManager; private final static int NOTIFICATION_ID = 0x0001; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = (TextView)findViewById(R.id.tv1); TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); tm.getLine1Number(); String imei1 = tm.getDeviceId(); tm.getSubscriberId(); String imei2 ="0"; //这里为了安全起见我删掉了我的URL=-= String url1 = "MyURL"; String Format1 = getResources().getString(R.string.imeis); String imei = ""; int len = imei1.length(); if(len == 14){ imei = String.format(Format1,imei2,imei1); } else {imei = imei1;} String urll = String.format(Format1,url1,imei); //浏览器界面 webView.loadUrl(urll); webView.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { setTitle("页面加载中,请稍候..." + progress + "%"); setProgress(progress * 100); if (progress == 100) { setTitle(R.string.app_name); } } }); webView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); setContentView(webView,new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); //这里为了安全起见我删掉了我的URL=-= String httpUrl = "myURL"; StringBuffer sb = new StringBuffer(); URL urlx = null; try{ urlx = new URL(httpUrl); }catch(MalformedURLException e){ e.printStackTrace(); } if (urlx != null){ try{ HttpURLConnection urlConn = (HttpURLConnection) urlx.openConnection(); urlConn.connect(); InputStream input = urlConn.getInputStream(); InputStreamReader inputReader = new InputStreamReader(input); BufferedReader reader = new BufferedReader(inputReader); String inputLine = null; while((inputLine = reader.readLine()) != null){ sb.append(inputLine).append("\n"); } reader.close(); inputReader.close(); input.close(); urlConn.disconnect(); }catch(IOException e){ e.printStackTrace(); } }else{ Log.i("TAG","url is null"); } String sbstr =null; if (sb != null){ String sbtr = sb.toString(); int sblen = sbtr.length(); int index=sbtr.lastIndexOf("|"); sbstr=sbtr.substring(index+1,sblen); tv.setText(sbstr); }else{ tv.setText("cannot get page"); } if (sbstr != null){ if (sbstr == "none"){ menu.setGroupVisible(group1, false); menu.setGroupVisible(group2, true); }else{ menu.setGroupVisible(group1, true); menu.setGroupVisible(group2, true); } }else{System.out.println("null");} } public boolean onCreateOptionsMenu(Menu menu) { menu.add(group2,1,1,"后退"); menu.add(group2,2,2,"前进"); SubMenu subMenu = menu.addSubMenu(group1, 100, 100, "系统通知"); subMenu.add(group1, 101, 101, "接收"); subMenu.add(group1, 102, 102, "不接收"); return true; } public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case 1: if(webView.canGoBack()){ webView.goBack(); return true; } break; case 2: if(webView.canGoForward()){ webView.goForward(); return true; } break; case 101: Intent mIntent = new Intent(mContext,SIMActivity.class); mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent mContentIntent =PendingIntent.getActivity(mContext,0, mIntent, 0); mNotification.setLatestEventInfo(mContext, "通知", "有新的通知", mContentIntent); mNotificationManager.notify(NOTIFICATION_ID, mNotification); break; case 102: mNotificationManager.cancel(NOTIFICATION_ID); break; default: return super.onOptionsItemSelected(item); } return true; } public void setupViews(){ mContext = SIMActivity.this; mNotification = new Notification(R.drawable.ic_launcher,"new notification.",System.currentTimeMillis()); mNotification.defaults = Notification.DEFAULT_SOUND; mNotificationManager = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE); } }