最近项目中需要动态获得activity,仔细研究了下,发现这样可以获得:
Launcher应用->Workspace.java->updateShortcuts方法->
if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION &&
Intent.ACTION_MAIN.equals(intent.getAction()) && name != null) {
...................................
}后面,加入如下代码
else if(info.itemType == LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT &&
Intent.ACTION_MAIN.equals(intent.getAction()) && name != null){
String[] str=name.flattenToShortString().split("/");
Log.d("ResolveInfo","str[0]="+str[0]+",str[1]="+str[1]);
String str1=str[0];
String str2=str[0]+str[1];
ComponentName com= new ComponentName(str1,str2);
Intent ii=new Intent();
ii.setComponent(com);
List<ResolveInfo> list=pm.queryIntentActivities(ii, 0);
if(list.size()>0){
for(ResolveInfo r:list){
String newtitle=r.loadLabel(pm).toString();
Log.d("ResolveInfo","获得的activity标题="+newtitle);
info.setTitle(newtitle);
}
}
}
分享到:
相关推荐
在Android开发中,Activity是应用组件的一种,它提供了一个屏幕,用户可以在其中进行交互。...在资源紧张或配置变化导致Activity销毁时,通过这些机制可以确保用户的操作状态得到保持,提升应用的健壮性和用户体验。
8. **onResume()**: 当Activity再次获得焦点并准备好接受用户输入时调用。 #### Activity2的生命周期变化 1. **onCreate()**: 创建Activity2时调用。类似于Activity1,这里也通过`Log.i("activity", "onCreate2")`...
注意,由于是跨进程通信,所有方法调用都是异步的,不能直接得到结果,需要通过回调或者其他方式处理。 7. 不要忘记在Activity中调用`unbindService`来解除与Service的连接,防止内存泄漏。 8. 对于复杂的参数类型...
#### Activity的生命周期方法 `Activity`的生命周期主要由以下方法组成: 1. **onCreate(Bundle savedInstanceState)**:当创建一个新的`Activity`实例时调用。通常用于初始化操作,如设置布局、绑定数据等。如果`...
当需要从第二个Activity返回结果到第一个Activity时,可以使用startActivityForResult()方法启动第二个Activity,并在第二个Activity中调用setResult()方法设置结果,最后在第一个Activity的onActivityResult()方法...
- `onResume()`:当`Activity`获得焦点并处于活动状态时调用,此时用户可以与`Activity`交互。 - **暂停状态**: - `onPause()`:当`Activity`失去焦点但仍然可见时调用。此时用户无法与`Activity`交互,但是`...
如果你想在跳转后得到目标Activity的结果,可以使用startActivityForResult()方法,并在目标Activity中调用setResult()。 ```java // 启动带有结果的Activity startActivityForResult(intent, REQUEST_CODE); // ...
该方法的主要功能是根据 Intent 从 PackageManager 中获得要启动的 Activity 信息。PackageManager 通过 parse 每个 application 的 AndroidManifest.xml 来获得所有的 Activity 信息,针对每个 Intent 提供的信息,...
如果之前被遮挡的Activity重新获得焦点,系统会先调用`onRestart()`,然后是`onStart()`和`onResume()`,使得Activity重新回到活动状态。`onRestart()`是一个恢复过程的起点,开发者可以利用这个方法进行一些重启前...
当一个Activity启动另一个Activity并期望得到结果时,可以使用startActivityForResult()方法启动新Activity,并在新Activity中调用setResult()设置返回结果。当新Activity结束时,系统会调用源Activity的...
- 当Activity变为可见时调用此方法,但它可能并未获得焦点。例如,当一个透明的Activity被放置在当前Activity之上时,当前Activity仍然可见但未获得焦点。 3. **onResume()** - 当Activity获得焦点并且对用户可见...
在安卓开发中,观察者模式(Observer Pattern)是一种设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动编程,尤其...
这意味着Activity现在获得了焦点并且可以与用户交互。 #### 4. onPause() 当Activity失去焦点但仍然可见时调用此方法,即从活跃状态变为暂停状态。此时系统可能保存Activity的状态信息,以便在必要时恢复Activity...
如果需要从启动的Activity得到返回结果,可以使用`startActivityForResult()`方法启动Activity,并在目标Activity中调用`setResult()`设置结果,最后在原始Activity中重写`onActivityResult()`方法来处理返回的结果...
当一个Activity启动另一个Activity并期望得到结果时,可以使用startActivityForResult()。在目标Activity中,通过setResult()设置结果,然后返回。源Activity将在onActivityResult()方法中接收到结果。 四、...
当Activity因为配置变化等原因被销毁并重建时,可以确保Fragment的状态得到正确的恢复。 #### 五、已知限制 根据描述中的内容,`FragmentActivity`存在一些已知的限制,其中包括: - 当使用`<fragment>`标签时,...
onResume()方法在Activity每次获得用户焦点时都会被调用,包括Activity首次创建时。在onResume()中,开发者应当初始化那些在onPause()中被释放的组件,并执行任何只有在Activity获得用户焦点时才需要的初始化动作,...
注意,即使 Activity 并未获得焦点也会调用此方法。 3. **onResume()**:当 Activity 获得用户焦点并且变为交互状态时调用。这意味着用户可以与 Activity 进行交互。 4. **onPause()**:系统即将把 CPU 分配给其他 ...
3. **`onResume()`**:当`Activity`获得焦点并准备好与用户交互时调用,这标志着`Activity`处于完全运行状态。 4. **`onPause()`**:当`Activity`失去焦点但尚未被完全隐藏时调用,此时`Activity`仍处于运行状态,...
- 当前Activity重新获得焦点时,会从`onRestart()`开始恢复,然后调用`onStart()`和`onResume()`,让用户重新与Activity交互。 4. **后台和销毁**: - 当系统需要回收资源时,可能会调用`onSaveInstanceState...