有没有办法在安装后使用一些"帮助应用程序"立即启动应用程序?

tes*_*est 8 java android

我正在开发一种防盗应用程序,该应用程序基于使用广播接收器为传入SMS启动服务.

但是,如果手机已经丢失,当从Google Play远程安装应用程序时,广播接收器将无法工作,因为必须至少启动一次应用才能接收3.0+版本的广播.

那么,有没有办法在安装后立即启动应用程序使用一些"帮助应用程序"或使广播接收器工作进行远程安装?

Dav*_*vid 0

您的应用程序需要在清单中拥有android.permission.RECEIVE_SMS的使用权限。

一旦你有了,你就可以注册一个广播接收器android.provider.Telephony.SMS_RECEIVED

然后您需要创建您的接收器

<receiver android:name=".SMSBroadcastReceiver"> 
    <intent-filter> 
        <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
    </intent-filter> 
</receiver>
Run Code Online (Sandbox Code Playgroud)

当您收到想要检索消息的意图并确定它是否是您想要关注的消息时,您的接收者应该扩展BroadcastReceiver并在 onReceive() 方法中进行扩展。android.provider.Telephony.SMS_RECEIVED_ACTION

您的代码可能看起来像这样。

public class SMSBroadcastReceiver extends BroadcastReceiver {
    private static final String TAG = "SMSBroadcastReceiver";
    private static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED"

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(SMS_RECEIVED)) {
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                Object[] pdus = (Object[]) bundle.get("pdus");
                final SmsMessage[] messages = new SmsMessage[pdus.length];
                for (int i = 0; i < pdus.length; i++) {
                    messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                }
                if (messages.length > -1) {
                    //You have messages, do something with them here to determine if you want to look at them and other actions.
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)