Android应用创建手机桌面快捷方式

时间:2022-12-14 12:30:03

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
android:orientation="vertical">
    <Button 
        android:id="@+id/shortCut_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    android:text="快捷方式"
        />
    <Button
        android:id="@+id/exit_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="退出应用" />
</LinearLayout>

---------------------------------------------------------------------------

public class MainActivity extends Activity {

private Button shortCutBtn;
private Button exitBtn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
shortCutBtn = (Button) findViewById(R.id.shortCut_btn);
exitBtn = (Button) findViewById(R.id.exit_btn);
/**创建 快捷方式*/
shortCutBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
/**创建或删除ShortCut的Intent中设置Action为:com.android.launcher.action.INSTALL_SHORTCUT
* 另外删除快捷方式为:com.android.launcher.action.UNINSTALL_SHORTCUT
*/
Intent addIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
/**Android专门提供了Intent.ShortcutIconResource.fromContext来创建快捷方式的图标,最后通过setResult来返回*/
Parcelable icon = Intent.ShortcutIconResource.fromContext(MainActivity.this, R.drawable.ic_launcher);
Intent myIntent = new Intent(MainActivity.this, MainActivity.class);
/**应用名称*/
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "应用名称");
/**应用图片*/
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
/**应用启动Intent*/
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);
sendBroadcast(addIntent);
}
});
/**退出应用*/
exitBtn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
System.exit(0);
}
});
}


}