Articles of android launcher

删除活动作为默认启动器

我将我的活动设置为默认启动程序来拦截主页button点击,如下所示: <activity android:name=".ExampleActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 当我的活动, ExampleActivity启动,如果我点击主键,我会得到提示select。 如果我select使这是我的默认设置,并select我的活动,我卡住在我的活动,如所期望的。 问题是,当我离开活动时,我尝试从默认启动器中删除我的活动,但是不成功。 我努力了: ComponentName componentName = new ComponentName( "com.example.exampleactivity", "com.example.exampleactivity.class"); pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); 和: PackageManager pm = getActivity().getPackageManager(); ComponentName name = new ComponentName(this, "com.example.exampleactivity.class"); pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); 但我的家庭指定永远不会被删除。 有没有人有一个工作方式来解决上述问题? 我只想要主页button默认为特定的活动,而不是我的整个应用程序。 当我离开活动时,它应该被删除并恢复到默认状态。

Android发起错误的活动

当我启动应用程序时,Android正在启动错误的活动。 Manifest.xml: <activity android:name="com.company.app.activities.RS_SplashScreenActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.company.app.activities.RS_PreviousLauncherActivity" android:label="@string/app_name" android:theme="@style/myTheme" > </activity> 我添加了一个新的Activity RS_SplashScreenActivity ,并将其设置为启动器活动。 它仍然尝试在添加RS_SplashScreenActivity之前启动曾经是启动器活动的RS_SplashScreenActivity 。 我相信,Android会从控制台下面的日志中select错误的启动器活动。 安慰 : [2013-10-10 12:03:58 – app] Android Launch! [2013-10-10 12:03:58 – app] adb is running normally. [2013-10-10 12:03:58 – app] Performing com.company.app.activities.RS_PreviousLauncherActivity activity launch [2013-10-10 12:04:01 – app] […]

由于AndroidManifest.xml中的<data android:scheme =“http”/>,应用程序未在启动器中列出

当我在AndroidManifest.xml中添加<data android:scheme="http" />时,它会导致我的应用程序不再在启动器中列出。 为什么? 没有<data android:scheme="http" /> AndroidManifest.xml : <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ebookfrenzy.mywebview" > <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MyWebViewActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> AndroidManifest.xml与<data android:scheme="http" /> : <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ebookfrenzy.mywebview" > <uses-permission android:name="android.permission.INTERNET" /> <application […]

Android启动器图标圆angular边缘半径

是否有任何正式的指导方针,当给Android发射器图标圆angular时,边缘半径应该有多less像素? 我已经find了关于启动器图标像素大小的指导(但是没有提到圆angular),这是一个名为Android Asset Studio的工具,可以为您四舍五入(但是该工具会在每个图标的边缘提供不需要的和不可configuration的填充)和另一个名为Icon Slayer的工具(但是这个工具创造了我感觉非常圆的angular落,并且感觉非常适合iOS)。 我也注意到,我个人使用的在发射器图标上有圆angular的应用程序,边缘半径几乎总是从图标变化到图标。 当我把各种图标放在一起的时候,有些看起来非常接近,但是他们大多觉得彼此之间有一点点差距 。 任何帮助?

Android包安装程序 – 如何获得“打开”和“完成”和活动的结果呢?

我的Android应用程序有一个选项来升级到更新的版本,更新的版本APK我把它保留在sdcardpath下。 点击升级选项,我调用下面的方法。 public static void launchInstaller(Activity act, String apkPath) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(apkPath)), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); act.startActivityForResult(intent, 0); } 我之所以包含FLAG_ACTIVITY_NEW_TASK,是因为在升级之后,我想要“打开”和“完成”选项,如果我不使用这个标志,这些选项不会显示。 当上面的代码启动包安装程序,它有两个select确定和取消,当用户按下取消,我想知道用户取消它。 但是我无法知道,因为onActivityResult被过早地调用。 在阅读以下文章后,我来谈谈这个问题。 Android – startActivityForResult立即触发onActivityResult onActivityResult()提前调用 他们要求我确保我用来启动活动的Intent没有设置FLAG_ACTIVITY_NEW_TASK。 看这里: http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK 特别要注意的是:“当调用者请求启动活动的结果时,不能使用该标志”。 如果活动作为新任务的一部分启动,则Android将立即使用RESULT_CANCELED调用onActivityResult(),因为一个任务中的活动不能将结果返回给另一个任务,只有同一个任务中的活动才可以这样做。 但在我的情况下,我不能删除FLAG_ACTIVITY_NEW_TASK,因为否则我将无法获得成功升级的“打开”和“完成”选项。 有没有人遇到类似的问题? 请帮助我,因为它让我疯狂。

如何在AOSP版本中设置默认启动器?

我正在修改AOSP源代码,因为我的应用程序需要在Kiosk环境中运行。 我想要Android直接启动到应用程序。 我已经从generic_no_telephony.mk排除了launcher2 ,并在那里添加了应用程序。 现在Android提示我一直select默认启动器 。 popup窗口提供了两个选项: 家庭样本 我的应用程序 我如何排除Android Home Sample Launcher? 还是有另一种方法来设置默认的启动程序在AOSP构build?

自动阻止应用程序从启动器启动

有一类Android应用程序可以在某些用户指定的应用程序上启用密码保护; 例如Android Protector 。 我需要从不同的方向来处理这个问题。 是否可以创build一个阻止所有活动启动的应用程序,除非它们位于预定义的白名单中? 这种方法会不会有意想不到的后果? 我熟悉Android的基础知识,并写了一些相当简单的应用程序,但我仍然试图弄清楚这些“Protector”应用程序如何正确拦截启动意图。 有人会介绍给我一个简单的概述,正确的方法来做到这一点? 基本的问题是,我们有一个通用的Android手机需要locking,以便我们的客户(仅限内部)可以访问我们的自定义应用程序,而无法播放“极品飞车”等。我想删除运营商英国媒体报道,但生根的设备似乎是一个维护头痛。 我们希望每个手机的安装都像安装一些自定义应用程序一样简单。

什么是启动我的应用程序的替代方法?

我可以启动我的应用程序: 点击发射器上的图标 注册“可见”意图filter(我的意思是 – 用户点击例如“发送..”,然后select我的应用程序) 在拨号器中input数字代码和“呼叫” – “不可见”意图,用户不能select应用程序,他只是input代码 有没有其他方法来启动我的应用程序? (我最感兴趣的是像第3段中的“无形”意图)。 假设我们只有默认的系统应用程序(大多数Google应用程序也被视为默认)和我的应用程序 通常用户的方式是首选,但更困难的方法也将是有用的 可以在一个设备上使用的变体(不需要其他设备需要接近)是优选的,但“多于一个设备变体”也是有用的。

如果已经login,正确跳过login活动

我的启动器图标当前开始login活动。 我已经将login状态存储在SharedPreferences中。 有什么办法可以正确跳过login活动,直接进入主要活动,没有任何 UI故障。 所有涉及onCreate()中finish()解决scheme都会导致login活动标题短暂可见或其他简短的空白屏幕UI故障。

如何在自定义启动器上安装图标包?

我试图在我的自定义启动器上安装图标包,我读过这个笔记如何安装图标包,但我无法理解如何使用该类,这是我做的: IconPackManager ic = new IconPackManager(); HashMap<String, IconPackManager.IconPack> map = new HashMap<String, IconPackManager.IconPack>(ic.getAvailableIconPacks(false)); Iterator it = map.entrySet().iterator(); Drawable d = null; String packName = null; IconPackManager.IconPack packIcon = null; while (it.hasNext()) { Map.Entry pair = (Map.Entry)it.next(); packName = (String)pair.getKey(); packIcon = (IconPackManager.IconPack)pair.getValue(); d = packIcon.getDrawableIconForPackage(packName, iconDrawable); setIcon(d); }