2014-07-24 3 views
0

암호화 및 암호 해독 응용 프로그램을 개발 중입니다. 응용 프로그램에는 두 개의 버튼이 있습니다. 첫 번째는 해독 파일 용이고 두 번째는 Decrypty 메시지 용입니다. 두 버튼이 같은 활동에 실행 전 : 전자 DecryptActivity.javaDecrption : 활동을 시작할 수 없습니다.

내가 파일 버튼을 해독 누르면, 그것은 원활하게 실행,하지만 난 복호화 메시지 버튼을 누르면, 로그 고양이는 오류 보여줍니다

07-24 13:09:26.732: W/dalvikvm(27183): threadid=1: thread exiting with uncaught exception (group=0x419aeba8) 
07-24 13:09:26.732: E/AndroidRuntime(27183): FATAL EXCEPTION: main 
07-24 13:09:26.732: E/AndroidRuntime(27183): Process: gargdk.android.mailencryption, PID: 27183 
07-24 13:09:26.732: E/AndroidRuntime(27183): java.lang.RuntimeException: Unable to start activity ComponentInfo{gargdk.android.mailencryption/gargdk.android.mailencryption.DecryptActivity}: java.lang.NullPointerException 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.ActivityThread.access$800(ActivityThread.java:135) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.os.Handler.dispatchMessage(Handler.java:102) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.os.Looper.loop(Looper.java:136) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.ActivityThread.main(ActivityThread.java:5001) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at java.lang.reflect.Method.invokeNative(Native Method) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at java.lang.reflect.Method.invoke(Method.java:515) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at dalvik.system.NativeStart.main(Native Method) 
07-24 13:09:26.732: E/AndroidRuntime(27183): Caused by: java.lang.NullPointerException 
07-24 13:09:26.732: E/AndroidRuntime(27183): at java.util.regex.Matcher.reset(Matcher.java:177) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at java.util.regex.Matcher.<init>(Matcher.java:90) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at java.util.regex.Pattern.matcher(Pattern.java:297) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at gargdk.android.mailencryption.DecryptActivity.onCreate(DecryptActivity.java:260) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.Activity.performCreate(Activity.java:5231) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
07-24 13:09:26.732: E/AndroidRuntime(27183): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 
07-24 13:09:26.732: E/AndroidRuntime(27183): ... 11 more 

I을 다른 게시물을 확인했지만 오류가 해결되지 않았습니다. Android Manifesto 파일에 이미 항목이 있습니다.

안드로이드 Manisfesto 파일 : DecryptActivity.java

<activity 
     android:name="gargdk.android.mailencryption.DecryptActivity" 
     android:label="@string/title_decrypt" 
     android:configChanges="keyboardHidden|orientation|keyboard"> 

     <intent-filter> 
      <action android:name="gargdk.android.mailencryption.intent.DECRYPT" /> 
      <action android:name="gargdk.android.mailencryption.intent.DECRYPT_FILE" /> 
      <action android:name="gargdk.android.mailencryption.intent.DECRYPT_AND_RETURN" /> 
      <category android:name="android.intent.category.DEFAULT"/> 
      <data android:mimeType="*/*"/> 
     </intent-filter> 

    </activity> 

강령은

256 if (mSource.getCurrentView().getId() == R.id.sourceMessage && 
257  mMessage.getText().length() == 0) { 
258  ClipboardManager clip = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
259  String data = ""; 
260  Matcher matcher = Apg.PGP_MESSAGE.matcher(clip.getText()); 
261  if (!matcher.matches()) { 
262   matcher = Apg.PGP_SIGNED_MESSAGE.matcher(clip.getText()); 
263  } 
264  if (matcher.matches()) { 
265   data = matcher.group(1); 
266   mMessage.setText(data); 
267   Toast.makeText(this, R.string.usingClipboardContent, 
267 Toast.LENGTH_SHORT).show(); 
268  } 
269 } 

이 날 도와주세요.

+0

U 통해 UR 코드를 게시 할 ?? 코드뿐만 아니라 XML – KOTIOS

+1

체크'행 번호에 무엇이 – Blackbelt

+0

177? – Aniruddha

답변

0

clip.getText()은 클립 보드에 텍스트가없는 경우 null을 반환 할 수 있습니다. 여기서 null 포인터를 피하려면 clip.hasText()으로 호출하여 클립 보드에 텍스트가 있는지 확인하십시오. Android docs 예를 들어

: DecryptActivity.onCreate (DecryptActivity.java:260)`의 null 무엇

if(clip.hasText()) { 
    // Do stuff with clip 
} 
관련 문제