我的机器上安装了Ubuntu 12.04 LTS.我也安装了GNOME 3.然后我安装了IDE IntelliJ而没有问题.但是我将它安装到自定义位置,现在运行它的唯一方法是通过终端通过"./idea.sh".我想创建一个应用程序启动器,以便我可以通过GNOME 3 Windows管理器中的应用程序列表启动IntelliJ.我如何通过终端做这样的事情,而不是通过第三部分实用程序.我也希望为启动器提供正确的图标,而不是通用图标.感谢您的帮助.
Nova如何管理这个?我真的试图做同样的事情:为用户提供一个按钮来清除并选择他们的新默认启动器.
我可以获取默认的应用名称并显示它:
private String getPrefered(Intent i) {
PackageManager pm = this.getActivity().getPackageManager();
final ResolveInfo mInfo = pm.resolveActivity(i, 0);
return (String) pm.getApplicationLabel(mInfo.activityInfo.applicationInfo);
}
Run Code Online (Sandbox Code Playgroud)
这里Intent i是
Intent home = new Intent("android.intent.action.MAIN");
home.addCategory("android.intent.category.HOME");
Run Code Online (Sandbox Code Playgroud)
然后我调用系统ResolveActivity,
private void makePrefered() {
Intent selector = new Intent("android.intent.action.MAIN");
selector.addCategory("android.intent.category.HOME");
selector.setComponent(new ComponentName("android", "com.android.internal.app.ResolverActivity"));
startActivity(selector);
}
Run Code Online (Sandbox Code Playgroud)
选择器出现并正常运行,但它实际上并未设置或清除任何值.在调试时,似乎我错过了一些额外的东西?当我调用该makePrefered方法时,我收到以下日志消息,
I/ActivityManager( 602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] cmp=android/com.android.internal.app.ResolverActivity u=0} from pid 22641
Run Code Online (Sandbox Code Playgroud)
当我使用Nova实现时,我看到了所有这些,
I/PackageManager( 602): Result set changed, dropping preferred activity for Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 (has extras) } type null …Run Code Online (Sandbox Code Playgroud) 我想在安装我的应用程序后立即在主屏幕上创建应用程序的快捷方式/启动器图标(甚至在我开始之前).那可能吗?我怎么能这样做?
我之前在更一般的设计背景下问过这个问题.现在,我想谈谈具体细节.
想象一下,我已经app.exe跑了.它下载update.exe到同一个文件夹中.怎么会app.exe复制update.exe内容app.exe?我在C++上下文中特别要求.我需要某种第三个中介应用程序吗?我需要担心文件锁定吗?什么是二进制更新本身最强大的方法(除非有令人讨厌的IT员工拥有极端的文件权限)?理想情况下,我希望看到可移植解决方案(Linux + OSX),但Windows是主要目标.
我正在尝试为Android制作自定义启动器,我正在试图弄清楚如何启动我的不同应用程序.我认为这样做的方式是意图,我在这里发现了一个帖子:
我真的不明白答案!有人可以给我一个简洁的片段或一系列步骤,从单个ResolveInfo到启动由ResolveInfo表示的应用程序吗?
我正在运行一个我们作为服务器端系统分发的java应用程序.我正在尝试编写一个启动器("写入"在这里有点夸大其词,我基本上只是复制Java.exe文件,以便我们可以在Windows的进程浏览器中获得所需的名称).这个exe在我们的应用程序文件树的bin /目录中.
现在,我们的文件树中也有一个jre /目录,这是Java.exe实际驻留的位置(我们的产品随Java环境一起发布).当我使用JAVA.EXE作为发射器,它位于\ JRE\jre1.6.0_21\bin中,或者如果我把拷贝(称之为exectuable"Orange.exe")我在此目录中做,它工作得很好.但是,如果我将'Orange.exe'放在bin \目录中,那么我会收到以下错误:
Error: no 'server' JVM at 'C:\Program Files\Java\jre6\bin\server\jvm.dll'
我想我明白这里发生了什么 - 我想使用jvm.dll文件的服务器版本,它位于我们的jre目录中.问题是,我不明白为什么它不在我的应用程序路径中的jre\_jre1.6.0_21目录中查找.我已将JAVA_HOME环境变量设置为此位置.它似乎违反了另一个系统范围的预期位置.
有谁知道我怎么能改变它,以便它在我的应用程序提供的java环境目录中查找?理想情况下,这将是一个环境变量,因为我需要使用批处理文件使用参数调用此应用程序.
我正在写一个(合法的)间谍程序.我想让这个程序隐藏在启动器上(这样就不会显示图标).我试图从中删除<category android:name="android.intent.category.LAUNCHER" />行AndroidManifest.xml,但是用户无法在第一个启动模式(配置)中启动应用程序.谁有任何想法?
我该怎么做?
<activity android:name="ApiDemos">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
- 如果在我的项目中使用了多于1个活动,那么任何一个关于main,default和launcher的解释是什么在manifest的活动中使用这些属性?
android launcher intentfilter android-manifest android-activity
当我想执行一个文件,似乎我总是先"CD"到该文件所在的目录执行它,除非它失败的一个不容找到-MY-DATAZ类型的错误了.
如何键入两个命令才能执行程序?
例:
cd /usr/local/bin/minecraft/
java -Xms512M -Xmx2048M -jar minecraft.jar
Run Code Online (Sandbox Code Playgroud)
如何将它组成一行,以便在Gnome3中创建自定义启动器时将其作为我的Exec = _行?
我已经通过Android市场为我的应用程序提供了更新.从市场安装新应用程序后,我的应用程序图标单独未更改为Android Launcher屏幕中的新应用程序图标.
但是,如果移动设备重新启动一次,则新图标也会在启动器屏幕中反映出来.它看起来像我的旧应用程序图标缓存在Android Launcher中.
可能是什么问题?是Android的错误还是我错过了什么?
请帮忙.
提前致谢.
launcher ×10
android ×6
java ×2
bash ×1
c++ ×1
environment ×1
fedora ×1
file ×1
gnome ×1
gnome-3 ×1
hidden ×1
homescreen ×1
intentfilter ×1
linux ×1
system ×1