码迷,mamicode.com
首页 > 移动开发 > 详细

Android APP安装后不在桌面显示图标的应用场景举例和实现方法

时间:2015-07-28 16:09:50      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

1、开发一个名为OpenNoIconAPP.apk的主APP,里面就一个按钮用于点击后打开子APP,核心跳转代码如下:

public void onClick(View view) {

    switch (view.getId()) {

    case R.id.btn_open_app:

         /*

         * Intent intent = getPackageManager().getLaunchIntentForPackage(

         * "com.example.noicontest"); if (intent != null) { //

         * startActivity(intent); } else { 

         * Toast.makeText(getApplicationContext(), "没有该子APP,请下载安装",

         * Toast.LENGTH_LONG).show(); }

         */
        Intent intent = new Intent();
        ComponentName cn = new ComponentName("com.example.noiconapp","com.example.noiconapp.MainActivity");
        intent.setComponent(cn);
        intent.setAction("android.intent.action.MAIN");
        try {
            startActivityForResult(intent, RESULT_OK);
        } catch (Exception e) {
            Toast.makeText(this, "没有该子APP,请下载安装",Toast.LENGTH_SHORT).show();
        }
        break;
    default:
        break;
    }
}


2、开发名为NoIconAPP.apk的子APP(用于主APP去打开),该APP主要实现在桌面不显示图标。其中要想不显示桌面图标只需修改AndroidManifest.xml文件即可。具体如下:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="
http://schemas.android.com/apk/res/android
"

package="com.example.noiconapp"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

    android:minSdkVersion="14"

    android:targetSdkVersion="14" />
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.noiconapp.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <!-- 要想在桌面不显示图标,只需注释掉APP入口Activity中的下面这句即可,或者把下面的LAUNCHER改成DEFAULT也行 -->
            <!-- <category android:name="android.intent.category.LAUNCHER" /> -->
        </intent-filter>
    </activity>
</application>
</manifest>


3、上面的设置可以让桌面图标不显示的原因:

一般情况下,当我们的APK在被安装后,系统会自动创建我们的APK程序,系统Launcher(系统桌面应用程序)会自动检测系统已经安装的应用软件的包名,然后把这些APP的图标和名称解析出来后显示在应用程序列表里,一旦我们像上面那样设置不显示APK图标,则APK程序在运行后只会显示在“正在运行”的程序列表中,而不会在桌面上显示图标和名字。如果只是设置APP图标不可见而使用第一种方式(我注释的代码)打开APP是不会成功的,因为这样设置后,包名根本就没有加载到Launcher,所以通过 getPackageManager().getLaunchIntentForPackage()方法得到的Intent为null。

Android APP安装后不在桌面显示图标的应用场景举例和实现方法

标签:

原文地址:http://my.oschina.net/u/593225/blog/484716

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!