How can I create a project in Android Studio to function default SMS app

前端 未结 1 2017
半阙折子戏
半阙折子戏 2021-01-14 19:46

Continuation of the previous query, see: SMS Receiver for AND API 19 and higher

I need to make the application run in the background and I could have it after instal

1条回答
  •  情深已故
    2021-01-14 20:05

    I am tried with this code it help me...

    manifests.xml

    
    
    
    
    
    
    
    
    
    
        
    
        
    
        
    
            
                
                
                
                
    
    
                
                
                
                
    
                
                
                
                
    
            
        
    
        
            
                
    
    
            
        
    
        
    
        
    
        
            
                
                
            
        
    
        
            
                
                
                
                
                
            
        
    
    

    then create 4 file for smsReader,mmsReader,ComposeSMS,HeadlessSMSservice

    smsReader.java

    public class SMSReceiver extends BroadcastReceiver {
    Notification notification;//=new Notification(R.drawable.icon,"New Message",System.currentTimeMillis());
    NotificationManager notificationmaneger;
    
    String SMSmsg;
    public SMSReceiver() {
    }
    public static final String SMS_BUNDLE = "pdus";
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle intentExtras = intent.getExtras();
        if (intentExtras != null) {
            Object[] sms = (Object[]) intentExtras.get(SMS_BUNDLE);
            String smsMessageStr = "";
    
            for (int i = 0; i < sms.length; ++i) {
                SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) sms[i]);
    
                String smsBody = smsMessage.getMessageBody().toString();
                String address = smsMessage.getOriginatingAddress();
    
                smsMessageStr += "SMS From: " + address + "\n";
                smsMessageStr += smsBody + "\n";
    
                builder.setAutoCancel(true);
                //  builder.setTicker("this is ticker text");
                builder.setContentTitle("New Messge");
                builder.setContentText(SMSmsg);
                builder.setSmallIcon(R.drawable.smsicon);
                builder.setColor(context.getResources().getColor(R.color.colorAccent));
                builder.setContentIntent(pendingIntent);
                builder.setOngoing(true);
                // builder.setSubText("You have pending tax");   //API level 16
                //builder.setNumber(100);
                builder.build();
            }
    SMSmsg=smsMessageStr;
    
        }
    }
    

    mmsReader.java

    public class MMSReceiver extends BroadcastReceiver
    {
        public MMSReceiver()
        {
         }
        @Override
        public void onReceive(Context context, Intent intent) {
        }
      }
    

    ComposeSMS.java

    public class ComposeSMS extends Activity {
    
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
     }
    
    }
    

    HeadlessSMSservices.java

    public class HandlessSMSSendService extends Service {
    
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
        }
     }
    

    if u want to see SMS then add listview in composeSMS.java and bind received data from sms table to listview adapter.

    0 讨论(0)
提交回复
热议问题