티스토리 뷰
어플 ShoutCut을 만들수가 있다.
구성은 간단하며, 예제는 지정하는 패키지를 따로 지정해서 만들수 있는 방법으로 한다.
package com.example.shortcut;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String PACKAGE = "com.kakao.talk";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PackageInfo packageInfo = null;
try {
packageInfo = getPackageManager().getPackageInfo(PACKAGE, 0);
}
catch(NameNotFoundException e) {
Toast.makeText(getApplicationContext(), "Package Name Not Found", Toast.LENGTH_SHORT).show();
return;
}
final CharSequence name = packageInfo.applicationInfo.loadLabel(getPackageManager());
final BitmapDrawable icon = (BitmapDrawable)packageInfo.applicationInfo.loadIcon(getPackageManager());
Intent packageIntent = getPackageManager().getLaunchIntentForPackage(PACKAGE);
Intent shortCutIntent = new Intent(packageIntent);
shortCutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
Intent sendIntent = new Intent();
sendIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortCutIntent);
sendIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
sendIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, icon.getBitmap());
sendIntent.putExtra("duplicate", false);
sendIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(sendIntent);
}
}
위의 사용중에 getLaunchIntentForPackage 메소드는 카데고리가 LAUNCHER인것을 사용하면 되겠다.
이렇게 작성을 하면 되며, manifest파일에 다음의 퍼미션을 추가하여 준다.
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
만약 동작을 하지 않는다면, 런처가 기본을 따르지 않아서 뜨지 않는 것이므로,
기타 설명은 하지 않도록 한다.
'Mobile > Android' 카테고리의 다른 글
| 설치된 어플 목록 가져오기 (0) | 2014.08.08 |
|---|---|
| PackageName으로 어플구동 (0) | 2014.08.08 |
| DrawerLayout (0) | 2014.08.06 |
| SlingPaneLayout (0) | 2014.08.06 |
| ActionBar에 overflow menu 보여주기 (0) | 2014.08.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- nodejs
- Codable
- windows10
- golang
- CentOS
- Kotlin
- docker
- cocoapods
- tomcat
- github
- ubuntu
- war
- intellij
- rxswift
- enum
- go
- Xcode
- ios
- MySQL
- Spring
- php
- Java
- SWIFT
- Linux
- centos8
- android
- Gradle
- Windows
- Python
- git
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함