cha*_*lav 5 service android android-service android-studio android-service-binding
我创建了一个管理 XMPP 连接的服务。我的应用程序需要定期接收 XMPP 消息。一切似乎都按预期工作,但只有当手机插入 Android Studio 并且我在调试模式下运行应用程序时。当我拔掉电话,或者即使它已插入但我从电话而不是从 AS 启动应用程序,该服务似乎没有启动...
我确保在清单中正确声明了我的服务:
<service
android:name=".xmpp.MyService"
android:enabled="true" />
Run Code Online (Sandbox Code Playgroud)
其中 .xmpp 是我的主包中的一个子包。
这是我的服务
public class MyService extends Service {
public static ConnectivityManager cm;
public static MyXMPP xmpp;
private static String LOG_TAG = "MyService";
@Override
public IBinder onBind(final Intent intent) {
Log.v(LOG_TAG, "in onBind");
return null;
}
@Override
public void onCreate() {
super.onCreate();
cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (CurrentInfo.getUser() != null) {
xmpp = MyXMPP.getInstance(MyService.this, getResources().getString(R.string.xmpp_url), CurrentInfo.getUser().getJabberId(), getString(R.string.xmpp_password));
xmpp.connect("onCreate");
}
}
@Override
public int onStartCommand(final Intent intent, final int flags,
final int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
xmpp.connection.disconnect();
}
public static boolean isNetworkConnected() {
return cm.getActiveNetworkInfo() != null;
}
}
Run Code Online (Sandbox Code Playgroud)
我像这样开始我的服务:
// Start xmpp service here
Intent i = new Intent(getBaseContext(), MyService.class);
startService(i);
Run Code Online (Sandbox Code Playgroud)
谢谢!
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |