Android开机自动循环播放视频_开机自动播放视频软件安卓_陌路旧梦的博客-程序员宅基地

技术标签: java  音视频  android  

主配置文件:


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:sharedUserId="android.uid.system"
    package="com.ling.autoplay">
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <application>
        <activity android:name=".PlayActivity"
        android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".BootBroadReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </receiver>
    </application>
</manifest>

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

广播接收器:

public class BootBroadReceiver extends BroadcastReceiver {
    public static final String ACTION = "android.intent.action.BOOT_COMPLETED";
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(ACTION)) {
            Log.i("PlayActivity", "onReceive");
            Intent playIntent = new Intent(context, PlayActivity.class);
            playIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(playIntent);
        }
    }
}

播放视频的界面:

public class PlayActivity extends Activity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_play);
        VideoView vv = (VideoView)this.findViewById(R.id.videoView);
        String uri = "android.resource://" + getPackageName() + "/" + R.raw.output;
        vv.setVideoURI(Uri.parse(uri));
        vv.start();
        vv.setOnPreparedListener(mp -> {
            mp.start();
            mp.setLooping(true);
        });
//另一种方式
//        vv.setOnCompletionListener(mp -> {
//           vv.setVideoURI(Uri.parse(uri));
//            vv.start();
//        });
    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010878994/article/details/127066376

智能推荐

cuda 8-程序员宅基地

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=ppc64le&target_distro=Ubuntu&target_version=1604&target_type=deblocal

C++——内存泄漏检测工具Visual Leak Detector_c++ leak detector-程序员宅基地

1.安装Visual Leak Detector官网下载安装完成后,会自动将其include目录、静态库目录(lib目录)添加到VS的附加库目录,无需手动添加include目录和lib目录。安装完成后在VisualLeakDetector安装目录下找到vld.ini文件,修改ReportTo = both如果在后面测试的时候call stack没有输出信息,则修改Rep..._c++ leak detector

OpenStack离线Train版安装系列—6.2计算节点-Nova计算服务组件_openstack 离线安装nova-程序员宅基地

计算节点计算服务Nova安装官方参考:OpenStack官方安装指南:服务组件,Nova-install,Nova-controller-install,Nova-compute-install,Nova-install-verify博客:CentOS7安装OpenStack(Rocky版)-05.安装一个nova计算节点实例,Train安装指南系列一、Nova相关软件安装与配置1.安装nova软件yum install openstack-nova-compute -yyum install_openstack 离线安装nova

在Android和iOS设备上调用C++代码-程序员宅基地

不少Android和iOS项目中,因为种种原因不得不调用C/C++代码。这篇文章主要讲述如何通过Objective-C++、NDK技术在iOS及Android设备上调用C/C++代码。通过这篇文章对我的启发是: 可以通过C++写一个socket长连接的功能模块。可以通过这种方法来实现安卓和苹果都能共用这个模块,不用安卓和苹果各自开放长连接模块了。 socket长连接对一部分人本来就陌生。并且维护

C语言的那些小秘密之【动态数组】-程序员宅基地

FROM: http://blog.csdn.net/bigloomy/article/details/6615012=============================================================== 摘要的重要性是不言而喻的,每次发文章我都很纠结如何写出一个有特色的摘要来,能够以最为简短的文字向读者描述出我所要表达的

学习笔记(23):零基础掌握 Python 入门到实战-class定义对象,self指向自身(二)-程序员宅基地

【为什么学Python】 Python 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并...

随便推点

JDK1.8源码学习-HashMap-程序员宅基地

  JDK1.8源码学习-HashMap目录一、HashMap简介HashMap 主要用来存放键值对,它是基于哈希表的Map接口实现的,是常用的Java集合之一。我们都知道在JDK1.8 之前 的HashMap是 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的。JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈...

安装Redis过程中遇到的坑_cd src && make all make[1]: entering directory '/o-程序员宅基地

安装环境系统为CentOS6.8 最小安装1.下载安装包wget http://download.redis.io/releases/redis-4.0.2.tar.gz2.解压安装包并安装tar -zvxf redis-4.0.2.tar.gzcd redis-4.0.2makemake install/usr/local/bin路径下存放Redi..._cd src && make all make[1]: entering directory '/opt/redis/redis-5.0.2/src

java连接Sftp,实现文件上传下载_java sftp lsfiles-程序员宅基地

1.创建FileUtils,package com.mischen.pay.common.utils;import java.io.File;/** * 文件工具类 * @author Peter * */public class FileUtils { /** * 传入文件夹路径,该方法能够实现创建整个路径 * @param path 文件夹路径,不包含文件名称及..._java sftp lsfiles

数据库多表连接查询-程序员宅基地

T-SQL内联接,外联接,交叉联接inner joinleft outer join (简写:left join)right outer join (简写:right join)cross join学习数据库查询的时候对多表连接查询的有些概念还比较模糊。而连接查询是在数据库查询操作的时候肯定要用到的。对于此概念 我用通俗一些的语言和例子来进行讲解。这个例子是我讲课的时候经常

数字信号处理实验matlab版答案,数字信号处理习题答案及matlab实验详解.pdf-程序员宅基地

数字信号处理习题答案及matlab实验详解.pdf第一章参考答案:1 (1)2 2 14 ,有理数,所以周期为 140 3  372 2(2 ) 12 ,无理数,非周期 10 62 (1)[ 1 2 3 3 2 1]1 1(2) 当n 0 时 y(n) 0.5nm 2m 2n3..._数字信号处理matlab课后实验讲解

JSBridge的理解_jsbbrd-程序员宅基地

JSBridge,指的是JavascriptBridge的简写;是一座使用Javascript语言建的桥梁,连接web端和native端。目的就是为了让native(native端支持webview,webview可以在加载完成后调用页面的JavaScript代码)可以调用web端的js代码(web端支持Javascript),让web端可以调用native原生代码。但是web在调用原生代码并不是..._jsbbrd