launcher

Creating a Main Activity which DOES NOT appear in the launcher list

柔情痞子 提交于 2021-02-07 07:36:38
问题 I'm looking for a way to have my app launch an activity when opened directly from the Android market, yet not maintain an activity in the launcher menu. I thought that by using the following settings, I would be able to achieve this: <activity android:name="com.package.test.MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> However, it appears that with these settings the Activity seemingly doesn't

Getting applications with 2 or more activities

点点圈 提交于 2021-02-07 04:17:56
问题 I'm writing an Launcher app for android. I can get the list of all applications and launch able activities with ArrayList<PInfo> res = new ArrayList<PInfo>(); List<PackageInfo> packs = ctx.getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES); final PackageItemInfo.DisplayNameComparator comparator = new PackageItemInfo.DisplayNameComparator(ctx.getPackageManager()); Collections.sort(packs, new Comparator<PackageInfo>() { @Override public int compare(PackageInfo lhs,

Getting applications with 2 or more activities

本秂侑毒 提交于 2021-02-07 04:16:25
问题 I'm writing an Launcher app for android. I can get the list of all applications and launch able activities with ArrayList<PInfo> res = new ArrayList<PInfo>(); List<PackageInfo> packs = ctx.getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES); final PackageItemInfo.DisplayNameComparator comparator = new PackageItemInfo.DisplayNameComparator(ctx.getPackageManager()); Collections.sort(packs, new Comparator<PackageInfo>() { @Override public int compare(PackageInfo lhs,

How to uninstall an app in flutter programatically?

限于喜欢 提交于 2020-06-27 10:09:22
问题 I am building a launcher app in flutter. But I couldn't add the uninstall feature. Please help me. 回答1: Add a permission in manifest file <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> add a package in your pubspec.yaml file intent: ^1.3.4 Use the below shown code and To uninstall an app pass the package name to it. $packageName is a variable ex, some.app.id android_intent.Intent() ..setAction(android_action.Action.ACTION_DELETE) ..setData(Uri.parse("package:

JVM类加载器机制与类加载过程

烈酒焚心 提交于 2020-04-07 03:53:59
该文章是我转载的,不过我对文中的一些地方有不同的理解,所以修改几处,还请作者见谅。 原贴:http://m.blog.csdn.net/article/details?id=50529868 读完本文,你将了解到: 一、为什么说Java语言是跨平台的 二、Java虚拟机启动、加载类过程分析 三、类加载器有哪些?其组织结构是怎样的? 四、双亲加载模型的逻辑和底层代码实现是怎样的? 五、类加载器与Class<T> 实例的关系 六、线程上下文加载器 一、为什么说Java语言是跨平台的? Java语言之所以说它是跨平台的、可以在当前绝大部分的操作系统平台下运行,是因为Java语言的运行环境是在Java虚拟机中。 Java虚拟机消除了各个平台之间的差异,只要操作系统平台下安装了Java虚拟机,那么使用Java开发的东西都能在其上面运行。如下图所示: Java虚拟机对各个平台而言,实质上是各个平台上的一个可执行程序。例如在windows平台下,java虚拟机对于windows而言,就是一个java.exe进程而已。 二、Java虚拟机启动、加载类过程分析 下面我将定义一个非常简单的java程序并运行它,来逐步分析java虚拟机启动的过程。 package org.luanlouis.jvm.load; import sun.security.pkcs11.P11Util; /** *

JDK13.0.2源码调试《一》

核能气质少年 提交于 2020-04-06 11:13:52
Launcher state: First application arg index: 2 debug:on javargs:off program name:java launcher name:java javaw:off fullversion:13.0.2+8 Java args: Command line args: argv[0] = java argv[1] = App.java JRE path is /opt/app/jdk/jdk-13.0.2 jvm.cfg[0] = ->-server<- jvm.cfg[1] = ->-client<- 1 micro seconds to parse jvm.cfg Default VM: server Does `/opt/app/jdk/jdk-13.0.2/lib/server/libjvm.so' exist ... yes. mustsetenv: FALSE JVM path is /opt/app/jdk/jdk-13.0.2/lib/server/libjvm.so 1 micro seconds to LoadJavaVM JavaVM args: version 0x00010002, ignoreUnrecognized is JNI_FALSE, nOptions is 6 option[ 0]

Android Launcher 研究学习

痴心易碎 提交于 2020-04-01 14:09:22
Launcher是系统启动后第一个启动的程序,是其它应用程序的入口,也就是我们的手机程序的桌面程序; 一、Launcher的定义及构成: <1>通过查看官方提供的Launcher源码可以知道其实Launcher也是一个Activity,不过它的intent-fliter有点特殊; <activity android:name="Launcher" android:launchMode="singleTask" android:clearTaskOnLaunch="true" android:stateNotNeeded="true" android:theme="@android:style/Theme.Wallpaper.NoTitleBar" android:screenOrientation="nosensor" android:windowSoftInputMode="stateUnspecified|adjustPan"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category

Android Launcher研究

痞子三分冷 提交于 2020-04-01 14:07:12
Android Launcher研究(一)-----------图文详解手把手教你在Windows环境下下载Android源码(Launcher为例) http://blog.csdn.net/android_tutor/article/details/5621141 Android Launcher研究(二)-----------Launcher为何物,究竟是干什么的? http://blog.csdn.net/android_tutor/article/details/5629337 Android Launcher研究(三)-----------列出所安装的应用,点击进入相应的应用! http://blog.csdn.net/android_tutor/article/details/5724634 Android Launcher研究(四)-----------桌面应用快捷方式的开发! http://blog.csdn.net/android_tutor/article/details/5949834 来源: https://www.cnblogs.com/DreamSea-for-Jimmy/archive/2011/08/01/2124143.html

Android Launcher分析和修改3——Launcher启动和初始化

南笙酒味 提交于 2020-03-28 05:10:29
上面一篇文章说了Launcher是如何被启动的,Launcher启动的过程主要是加载界面数据然后显示出来, 界面数据都是系统APP有关的数据,都是从Launcher的数据库读取,下面我们详细分析Launcher如何加载数据。 在Launcher.java的onCreate()方法里面,调用了开始加载数据接口: //Edited by mythou//http://www.cnblogs.com/mythou///加载启动数据 if (!mRestoring) { mModel.startLoader(this, true); } mModel是LauncherModel的对象,由此可见,数据加载主要是在LauncherModel类里面实现的。 1、Callbacks接口 LauncherModel里面,需要先分析一个Callbacks接口。 //Edited by mythou//http://www.cnblogs.com/mythou/ public interface Callbacks { public boolean setLoadOnResume(); public int getCurrentWorkspaceScreen(); public void startBinding(); public void bindItems(ArrayList<ItemInfo>

类加载器(二)

强颜欢笑 提交于 2020-03-21 10:31:16
一切都是由Bootstrap Loader 开始:类加载器的阶层体系 Java 程序在编译之后会产生许多的执行单位( .class ),当我们执行主类时( public static void main(String arg[]) 方法的类),才由虚拟机一一载入所有需要的执行单位,变成一个逻辑上为一体的 Java 应用程序。下面将细部讨论这整个流程。 当我们在命令行输入 java xxx.class 时, java.exe 根据我们之前所提过的逻辑找到 JRE ,接着找到在 JRE 之中的 jvm.dll (真正的 Java 虚拟机),最后载入这个动态连结函数库,启动 Java 虚拟机。 虚拟机一启动,会先做一些初始化的动作,比方说抓取系统参数等。一旦初始化动作完成之后,就会产生第一个类加载器,即所谓的 Bootstrap Loader,Bootstrap Loader 是由 C++ 编写的。这个 Loader 所做的初始化工作中,除了也做一些基本的初始化动作之外,最重要的就是载入定义在 sun.msic 命名空间底下的 Launcher.java 之中的 ExtClassLoader( 因此是 inner class ,所以编译之后会变成 Launcher$ExtClassLoader.class) ,并设定其 parent 为 null ,代表其父类加载器为 Bootstrap