motionEnabled

两个步骤

Android项目-快捷方式

Android项目-快捷方式

如何在桌面上创建一个快捷方式呢?

桌面也是一个App,要想在桌面上创建一个快捷方式得靠他
在Android的系统应用程序Launcher2中提供了一个广播接收者:InstallShortcutReceiver
我们可以通过给他发送一个安装快捷方式的广播,来安装我们的App的快捷方式

/*
*创建一个可以快速打电话的快捷方式
*/

public class CallShortCutActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = new Intent();
        intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");  //

        //dowhtIntent 用于告诉InstallShortcutReceiver, 我们要创建的快捷方式的样子
        Intent dowhtIntent = new Intent();
        dowhtIntent.setAction(Intent.ACTION_CALL); //这个快捷方式用来打电话
        dowhtIntent.setData(Uri.parse("tel://110")); //电话号码
        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "哈哈");  //快捷方式的名字
        intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));      //快捷方式的图标

        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, dowhtIntent);//装载数据
        sendBroadcast(intent);
    }
}

/*
*创建我们的App的快捷方式
*/

public class StartActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    private void createShortcut() {

        Intent intent = new Intent();   
        intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

        //如果设置为true表示可以创建重复的快捷方式
        intent.putExtra("duplicate", false);
        intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "我的App");

        /**
         *说明,我们这个快捷方式要启动应用
         * 这个地方不能使用显示意图
         * 必须使用隐式意图来启动我们的应用
         */
        Intent shortcut_intent = new Intent();  
        shortcut_intent.setAction("start_my_app");   //我们应用的首页的<intent-filter/>, 具体配置在下面
        shortcut_intent.addCategory("android.intent.category.DEFAULT");  //得加上

        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcut_intent);     
        sendBroadcast(intent);

    }
}


     <activity android:name="com.itheima.mobileguard.activities.HomeActivity" >
            <intent-filter>
                <!-- 这个名字可以随便取 -->
                <action android:name=start_my_app" ></action>
                <category android:name="android.intent.category.DEFAULT" ></category>
            </intent-filter>
     </activity>
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sdlg2015/article/details/49933339
文章标签: android launcher
个人分类: Android
上一篇Android进阶-如何避免频繁修改UI代码
下一篇Android项目-PopupWndow与应用的启动与卸载
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭