2014-04-12 3 views
0

들어오는 모든 메시지를 암호화하는 앱을 작성하고 싶습니다. 그래서 SMS를 수신 암호화 후 나는 아무 문제없이 메시지받은 편지함에 암호화 된 SMS를 넣어 : 이제Android - 기본 제공 메시지에 맞춤 메뉴 추가 길게 누르면 상황에 맞는 메뉴

package org.appsroid.smsmodifier; 

import android.content.BroadcastReceiver; 
import android.content.ContentValues; 
import android.content.Context; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.telephony.SmsMessage; 

public class SmsReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     //---get the SMS message passed in--- 
     Bundle bundle = intent.getExtras();   
     SmsMessage[] msgs = null; 
     String str = "";    
     if (bundle != null) 
     { 
      //---retrieve the SMS message received--- 
      Object[] pdus = (Object[]) bundle.get("pdus"); 
      msgs = new SmsMessage[pdus.length];    
      for (int i=0; i<msgs.length; i++){ 
       msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);     
       String address = msgs[i].getOriginatingAddress(); 
       String body = msgs[i].getMessageBody().toString(); 

       /* 
       * Some codes to encrypt body ... 
       */ 

       /* 
       * Add Encrypted SMS to Messages inbox 
       */ 

      } 

      // Delete plain SMS 
      abortBroadcast(); 
     }       
    } 
} 

, 나는 사용자가 메시지 본문을 해독 할 수 있도록 내장 된 안드로이드 메시지 컨텍스트 메뉴에 사용자 정의 콘텐츠 메뉴를 추가 할 필요가 . 어떠한 제안?

답변

1

먼저 "내장형 Android 메시지"앱이 하나도 없습니다. 서로 다른 장치 모델에 수십, 수백 가지가있을 수 있습니다. 상황에 맞는 메뉴는 거의 없으며 수정할 수있는 방법은 아직 없습니다. 그 외에도 Play 스토어 및 사용자가 이미 사용하고있는 다른 곳에서 사용할 수있는 더 많은 SMS 클라이언트 앱이 있습니다.

둘째로, 완전한 SMS 클라이언트를 작성하지 않는 한 "받은 편지함에 암호화 된 SMS 넣기"코드는 Android 4.4 이상에서 작동하지 않습니다 (예 : only the SMS client can write to the SMS ContentProvider).

따라서 메시지를 해독하고 Android 4.4 이상에서 메시지를 해독 할 수 있으려면 자체 SMS 클라이언트를 작성해야합니다. 그런 다음 암호화 기능이있는 SMS 클라이언트가 현재 SMS 클라이언트 대신 사용할 가치가 있다고 사람들에게 확신시켜야합니다.