Android如何在启动时启动活动

Android如何在启动时启动活动,android,Android,让我来描述一下我想要什么:我想要构建一个“主应用程序”,并将其设置为当手机通电时,它立即进入主应用程序。用户永远无法退出此应用程序(此应用程序将用于类似家长控制的功能),他只能从其中启动其他应用程序 基本上,它就像一个“定制桌面” 我必须强调,这个应用程序永远不会退出是很重要的。只要手机启动,这就是用户可以访问的唯一环境 现在,在我解释了我需要什么之后,我需要你的帮助来告诉我我在寻找什么。这是我一直听说的某种“默认启动器”吗?或者这叫什么? 我怎么做 谢谢将此添加到清单中 <receive

让我来描述一下我想要什么:我想要构建一个“主应用程序”,并将其设置为当手机通电时,它立即进入主应用程序。用户永远无法退出此应用程序(此应用程序将用于类似家长控制的功能),他只能从其中启动其他应用程序

基本上,它就像一个“定制桌面”

我必须强调,这个应用程序永远不会退出是很重要的。只要手机启动,这就是用户可以访问的唯一环境

现在,在我解释了我需要什么之后,我需要你的帮助来告诉我我在寻找什么。这是我一直听说的某种“默认启动器”吗?或者这叫什么? 我怎么做


谢谢将此添加到清单中

<receiver
            android:name=".Bootupclass"
            android:enabled="true"
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >

</receiver>

问题正文中的问题与问题标题不同

收听
BOOT_COMPLETED
将按标题要求执行操作-一旦设备通电或重新启动,就可以控制应用程序

这还不足以实现真正的目标-防止用户退出应用程序并到达“正常”主屏幕-一旦用户按下“退出”或“主页”,他将基本上离开您的应用程序。虽然您可以拦截“退出”按钮并阻止它退出您的应用程序,“主页”按钮不可能以编程方式阻止

为了使和应用程序类似于家长控制,并防止用户访问不需要的应用程序,您需要实现“自定义主屏幕”或“自定义启动器”(这是相同的事情)

这是一个相当大的话题,但这似乎是一个很好的起点:

由于作者坚持使用“精确代码”,为了让你的应用程序启动而不是主屏幕(启动后或按下“主页”按钮),你需要在清单中包含以下内容:

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME"/>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

安装后,按“主页”按钮-您可以选择标准启动器或应用程序。选中“默认使用”并选择您的应用程序-从现在起,它将启动,而不是正常的主屏幕

不过,请注意,定制启动器几乎没有已知问题。一个是-您必须阻止访问设置,否则用户可以切换回默认启动器。此外,在更新应用程序后(即发布新版本),用户将被询问要使用的主屏幕,并可以选择默认启动器

我需要有人给我制作应用程序所需的确切代码:

来吧

如果您将一个应用程序制作为启动器应用程序,并且它是系统中唯一的启动器应用程序,那么当您打开设备时,它当然会启动。而且,当你点击home按钮时,由于你的应用程序是系统中唯一的启动器应用程序,同样的程序也会启动

所以

1) 启动时启动2)是按下主页按钮(“桌面”)时的默认操作

两者都可以合并为1

你提到你的手机是扎根的,所以实现你所需要的最简单的方法就是

1.仅使用清单中的这些行安装应用程序。i、 在你的第一个活动中。不需要其他任何东西。(这将使您的应用程序成为启动器应用程序)



2.在您的设备中卸载默认启动器应用程序。

我必须强调,此应用程序永远不退出是很重要的,我认为这是不可能的

从您的需求来看,您似乎需要MDM解决方案。安卓2.2设备管理API的可用性已超过100个。退房

用户必须安装您的应用程序并允许其成为设备管理员。(您可以通过设置->位置和安全->设备管理员查看当前可用的管理员)。现在,作为管理员,您可以控制设备上的功能,例如不允许卸载应用程序、阻止安装特定应用程序、不允许启动特定应用程序。如果安全性被破坏,请擦除设备。您还可以阻止卸载您的应用程序

有一些应用程序具有这些功能。我可以很容易地说出Maas360的名字。
免责声明:我自己还没有尝试过设备管理API。

你做不到的应用程序将永远不会退出其恶意软件程序,并且此功能将android 4.0限制到更高版本!我在访问BootupService时做了,我会说创建一个启动器应用程序并将其设为默认值。当你做的时候,你可以用正确的方法控制几乎所有的事情permissions@Dediqated:如何做到这一点?我不认为你可以启动Android 4.0或更高版本的应用程序。如果您的应用在手机关机时处于活动状态,则该应用将在下次开机时自动启动。我应该在
onReceive
中启动我的活动?另外,以后如何卸载该应用程序?安装相同的应用程序或不同的应用程序我接受了你的答案,因为它符合我帖子的标题,但它不会使我的应用程序成为一个启动器。谢谢,试试这个,最终我成功地使它与这个精确的解决方案一起工作,一切都很好。
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME"/>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.HOME"/>
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>