接收开机广播,在广播接收者中启动勒索的Activity
* 清单文件中配置接收开机广播

    <receiver android:name="com.itheima.lesuo.BootReceiver">
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>

* 权限

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  • 定义广播接收者

    @Override
    public void onReceive(Context context, Intent intent) {
    //开机的时候就启动勒索软件
    Intent it = new Intent(context, MainActivity.class);
    context.startActivity(it);
    }
  • 以上代码还不能启动MainActivity,因为广播接收者的启动,并不会创建任务栈,那么没有任务栈,就无法启动activity
  • 手动设置创建新任务栈的flag

    it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 <receiver android:name="com.cy.lesuo.BootReceiver">
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
public class BootReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
//启动勒索应用
Intent it = new Intent(context, MainActivity.class);
//创建新的任务栈,因为这行代码执行时,没有任务栈
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(it);
}

}

参考:Android BroadcastReceiver

更多相关文章

  1. Android代码性能优化技巧
  2. Android公钥私钥及代码详细解读
  3. android OSChina 客户端源代码剖析
  4. android代码混淆 GSON完满解决
  5. Android开源代码解读の地图照片应用Panoramio的实现详解(六)
  6. 在app引擎端点的启动时执行代码
  7. javaScript函数中执行C#代码中的函数
  8. 反编译APK 得到JAVA代码和资源文件源码
  9. java.io.File vs java.nio.Files这是新代码中的首选?

随机推荐

  1. c语言大小写字母怎么转化?
  2. dev c++怎么用
  3. c语言中do while语句怎么使用
  4. c语言取余符号是什么
  5. C语言中system()函数怎么用?
  6. c语言strlen函数用法是什么
  7. c语言%什么意思
  8. c语言合法标识符的要求是什么
  9. c语言if语句用法是什么
  10. C语言中快速排序法怎么排