Иконка на рабочий стол.
- deathcoretm
- Сообщения: 5
- Зарегистрирован: 22 мар 2014, 18:17
- Контактная информация:
Иконка на рабочий стол.
Здравствуйте. Программирование изучать я начал не так давно. Поэтому многого не знаю и пришёл за подсказкой сюда.
Я занимаюсь созданием тем для GO Launcher EX.
И так как помимо тем, у меня есть еще другие приложения на маркете я подумал можно ли сделать так что при установке моей темы у пользователя будут появляться иконки моих приложений и при нажатии на них будет открываться страница Google Play с именно этим приложением.
Буду очень признателен вам за помощь.
XDA и 4PDA молчат и нет никаких ответов.
Я занимаюсь созданием тем для GO Launcher EX.
И так как помимо тем, у меня есть еще другие приложения на маркете я подумал можно ли сделать так что при установке моей темы у пользователя будут появляться иконки моих приложений и при нажатии на них будет открываться страница Google Play с именно этим приложением.
Буду очень признателен вам за помощь.
XDA и 4PDA молчат и нет никаких ответов.
- deathcoretm
- Сообщения: 5
- Зарегистрирован: 22 мар 2014, 18:17
- Контактная информация:
- deathcoretm
- Сообщения: 5
- Зарегистрирован: 22 мар 2014, 18:17
- Контактная информация:
Re: Иконка на рабочий стол.
Спасибо конечно, можно подсказку что я не так делаю.
В манифесте указал :
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
Сам код вставил в основной (его имя template.java) . Жалуется на MainActivity.class
Я так понял нужно создать этот MainActivity ? И что в нем прописать?
В манифесте указал :
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
Сам код вставил в основной (его имя template.java) . Жалуется на MainActivity.class
Я так понял нужно создать этот MainActivity ? И что в нем прописать?
Код: Выделить всё
public void createShortCut(){
// a Intent to create a shortCut
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//repeat to create is forbidden
shortcutintent.putExtra("duplicate", false);
//set the name of shortCut
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "FlyPanda");
//set icon
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.panda);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//set the application to lunch when you click the icon
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , MainActivity.class));
//sendBroadcast,done
sendBroadcast(shortcutintent);
}Re: Иконка на рабочий стол.
Нюка пoпробуйте текdeathcoretm писал(а):Спасибо конечно, можно подсказку что я не так делаю.
В манифесте указал :
Сам код вставил в основной (его имя template.java) . Жалуется на MainActivity.class
Я так понял нужно создать этот MainActivity ? И что в нем прописать?
[syntax=java5] public void createShortCut(){
// a Intent to create a shortCut
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//repeat to create is forbidden
shortcutintent.putExtra("duplicate", false);
//set the name of shortCut
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "FlyPanda");
//set icon
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.panda);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//set the application to lunch when you click the icon
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , template.class));
//sendBroadcast,done
sendBroadcast(shortcutintent);
}[/syntax]
«Life is too short to spend rewriting code»
- deathcoretm
- Сообщения: 5
- Зарегистрирован: 22 мар 2014, 18:17
- Контактная информация:
Re: Иконка на рабочий стол.
Вставил, не жалуется. Скомпилировал, установил. Но ничего не появилось на рабочем столе 
Посмотрите что не так я делаю.
Вот весь код template.java
Посмотрите что не так я делаю.
Вот весь код template.java
Код: Выделить всё
package ru.tirexdev.windows8theme;
import ru.tirexdev.windows8theme.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.KeyEvent;
public class template extends Activity {
/** Called when the activity is first created. */
class CustomAlertDialog extends AlertDialog {
public CustomAlertDialog(Context context) {
super(context);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean ret = super.onKeyDown(keyCode, event);
finish();
return ret;
}
}
private CustomAlertDialog mDialog;
public void createShortCut(){
// a Intent to create a shortCut
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//repeat to create is forbidden
shortcutintent.putExtra("duplicate", false);
//set the name of shortCut
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "FlyPanda");
//set icon
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.panda_1);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//set the application to lunch when you click the icon
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , template.class));
//sendBroadcast,done
sendBroadcast(shortcutintent);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (isExistSkin("com.gau.go.launcherex")) {
startGOLauncher("com.gau.go.launcherex");
finish();
return;
}
mDialog = new CustomAlertDialog(this);
mDialog.setTitle(R.string.dialogtitle);
mDialog.setMessage(getResources().getString(R.string.dialogcontent));
mDialog.setButton(DialogInterface.BUTTON_POSITIVE, getResources().getString(R.string.dialogok),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String marketuriString = "market://search?q=pname:com.gau.go.launcherex";
Intent EMarketintent = new Intent(Intent.ACTION_VIEW, Uri.parse(marketuriString));
EMarketintent.setPackage("com.android.vending");
EMarketintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(marketuriString));
try {
startActivity(EMarketintent);
} catch (ActivityNotFoundException e) {
String link = "http://61.145.124.93/soft/3GHeart/com.gau.go.launcherex.apk";
Uri browserUri = Uri.parse(link);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, browserUri);
browserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
startActivity(browserIntent);
} catch (ActivityNotFoundException e2) {
// TODO: handle exception
e2.printStackTrace();
}
} catch (Exception e3) {
// TODO: handle exception
e3.printStackTrace();
}
finish();
}
});
mDialog.show();
}
@Override
protected void onDestroy() {
super.onDestroy();
android.os.Process.killProcess(android.os.Process.myPid());
}
private boolean isExistSkin(String packageName) {
try {
createPackageContext(packageName,
Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
return false;
}
return true;
}
private void startGOLauncher(String packageName){
PackageManager packageMgr = this.getPackageManager();
Intent launchIntent = packageMgr.getLaunchIntentForPackage(packageName);
if (null != launchIntent){
try
{
this.startActivity(launchIntent);
}
catch(ActivityNotFoundException e)
{
}
}
}
}- deathcoretm
- Сообщения: 5
- Зарегистрирован: 22 мар 2014, 18:17
- Контактная информация:

