有没有办法在使用一些“帮助应用程序”安装后立即启动应用程序? [复制]
Posted
技术标签:
【中文标题】有没有办法在使用一些“帮助应用程序”安装后立即启动应用程序? [复制]【英文标题】:Is there a way to start the application right after installation using some "helper application"? [duplicate] 【发布时间】:2013-07-24 22:40:35 【问题描述】:我正在开发一个防盗应用程序,它基于使用广播接收器为传入的SMS 启动服务。
但是如果手机已经丢失,从Google Play远程安装应用程序时广播接收器将无法工作,因为应用程序必须至少启动一次才能接收3.0+版本的广播。
那么,有没有办法在安装后使用一些“帮助应用程序”立即启动应用程序,或者让广播接收器为远程安装工作?
【问题讨论】:
***.com/questions/11872320/… 在 google play android Lost 上有一个应用程序,它通过传入的短信调用 google 推送消息的注册服务,而对于 3.0+ 版本甚至无需启动应用程序 【参考方案1】:您的应用程序需要在清单中拥有 android.permission.RECEIVE_SMS 的使用权限。
一旦你有了它,你就可以为android.provider.Telephony.SMS_RECEIVED
注册一个广播接收器。
然后你会想要创建你的receiver。
<receiver android:name=".SMSBroadcastReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
您的接收者应该扩展 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.
【讨论】:
哥们,你不明白这个问题。请再次阅读问题。 您正试图在本机应用程序上加载您的解决方案,但考虑到用户可能无法访问他们的应用程序来注册电话的情况。相反,我会进行远程安装,注册接收器(自动完成),然后让用户在网站或其他平台上输入他们的号码。完成后,等待几分钟将短信发送到他们提供的号码launch service,然后继续您的快乐之旅。 抱歉没找到你。您是否知道如果应用程序未启动至少一次(对于 3.0 版以上),广播接收器将无法工作。 我不知道这一点,很高兴知道。看一下here,您似乎可以使用FLAG_INCLUDE_STOPPED_PACKAGES 来克服这个限制。根据我对阅读更改的理解,不同之处在于应用程序被认为处于停止状态,这会导致广播接收器无法被调用,因此设置标志将使其可用并缓解您的问题。以上是关于有没有办法在使用一些“帮助应用程序”安装后立即启动应用程序? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 electron-builder NSIS 安装程序安装后运行时如何传递命令行参数
Windows10安装Mysql后没有服务并且不能启动解决办法