解决方案 »
- 如何以程序的方式加载adobe reader阅读器
- java 中关于map的赋值问题
- Android 开发用的真机 一般是什么型号,价格? 谢谢
- 关于android环境搭建问题,请教android开发高手
- Android图形界面的分辨率为什么和lcd的分辨率不一样
- 请问大家有见过mp3播放器播放一首就停止的吗?
- 如何在一个按钮的右下角显示一个图标?
- 在程序里怎么能跳到无线控件呢?
- 请问多层Fragment重叠,如何让底层的Fragment不响应点击等事件?
- TableLayout 的layout_gravity问题
- google map 导航问题
- UriMatcher.addURI中的/#/*解释
一般情况是Service的class和Main在一个Android project里,
现在分别在两个Projects。
可以在B包的AndroidManifest.xml中,定义一个receiver的intent-filter,比如...
<receiver
<intent-filter
<action android:name="android.intent.action.GET_CONTENT" />
</intent-filter>
...如后在这个receiver的onreceiver中,启动service。那么在A包broadcast这个action即可。
但是我发现带有Service的那个apk根本没有进入onCreate的生命周期。请问有办法从主程序激活他么?
在androidManifest.xml中:
<receiver android:name="TestReceiver">
<intent-filter>
<action android:name="android.appwidget.action.GET_CONTENT" />
</intent-filter>
</receiver>在TestReceiver.java中:
public class TestReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) {
Intent intent = new Intent();
intent.setClassName(.....);
startActivity(intent);
}
}
}
这也是我们在B包里使用broadcast receiver的原因吧。还有我不明白的是,如果要启动别的activity,直接发送Intent就好,为什么要放在receiver里呢?
然后在其他APK里面New一个Intent为这个Action 就能直接抓取到这个Service了