Articles of 服务

如何在Android中停止重复警报服务?

我有totalTime = 1小时和intervalTime = 5分钟,都是毫秒, 我想在每个时间间隔重复我的GPS设置服务,并且在完成总时间后,这个重复应该停止。 AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); Intent intent1 = new Intent(C2DMReceiver.this, GPSSetting.class); PendingIntent pendingIntent = PendingIntent.getService( C2DMReceiver.this, 0, intent1, 0); am.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), intervalTime, pendingIntent); 那么如何才能阻止这种重复警报呢? 问候,Girish

有效的方法来持续检查Android中的互联网连接是否可用

可能重复: 如何监控Android中的网络连接状态? 我需要不断检查互联网是否已连接,并使用适当的消息相应地更新文本区域。 现在,如果我创建一个asynctask它将执行一次并停止这不是我想要的。 我想连续检查每一刻,显然这不应该在主线上。所以服务也不是一个好选择。 任何人都可以帮助我处理这个问题的最佳和最有效的方法是什么。 谢谢

我想每15分钟向服务器发布位置更新,即使应用程序没有在前台运行

我希望从Android手机到服务器每15分钟到服务器发送一次位置更新。服务或报警管理器是最好的选择。 如果我启动服务,我可以启动asynctask将位置发布到服务器。 这是我使用的代码: @Override public void onStart(Intent intent, int startId) { locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); listener = new MyLocationListener(); locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 4000, 0, listener); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 4000, 0, listener); } public class MyLocationListener implements LocationListener { public void onLocationChanged(final Location loc) { Log.i(“**************************************”, “Location changed”); if (isBetterLocation(loc, previousBestLocation)) { loc.getLatitude(); loc.getLongitude(); // // intent.putExtra(“Latitude”, loc.getLatitude()); // […]

从服务更新UI(使用处理程序?)

我在收到通知时尝试在FirstActivity更新我的UI,但是被runOnUiThread , Runnable和Handler runOnUiThread糊涂了。 这就是我所拥有的:我正在运行FirstActivity和NotificationService。 当NotificationService收到通知时,它将更新FirstActivity UI。 我还有另一个服务AlarmService运行。 第一项活动 @Override public void onResume() { super.onResume(); //some other code for alarm service } NotificationService //on receiving notification private void showNotification(String text) { //Get activity Class activityClass = null; try { activityClass = Class.forName(“com.pakage.FirstActivity”); contextActivity = (Activity) activityClass.newInstance(); //Update UI on FirstActivity not working contextActivity.runOnUiThread(new Runnable() { […]

究竟做什么Stopself()? 终止服务运行的最佳方法是什么?

我是android的初学者,对java没什么经验… 我有一个Activity创建一个ALARM MANAGER并启动指向服务的alarmManager.setRepeating() 。 onCreate中的此服务设置部分唤醒锁以执行代码的整个执行(该应用程序用于非用户交互,因此电话始终处于待机状态)。 所有这些工作都很完美。 有时,服务不应执行整个代码,而是在执行之前退出。 所以我使用了StopSelf但我有些疑惑: Service中的onDestroy函数具有删除唤醒锁的代码。 StopSelf()调用它吗? 无论如何,如果我没有指定任何函数来终止服务,代码执行后何时终止? 所以在我的情况下,更好的替换onDestroy()而不是Stopself() ? 很多人!

AIDL文件未生成Java文件

我已经定义了一个AIDL android接口,以便从其他应用程序提供服务。 我的问题是,在我的项目中,Android不会从此AIDL生成Java文件。 请注意,项目编译并正常工作。 但是,如果我将此AIDL文件移动到另一个项目,Android将生成Java文件。 我不知道在哪里可以调试这种错误或者我可以在哪里阅读有关此内容的日志。 有谁能够帮助我?

禁用隐藏演示文稿(辅助屏幕)

我正在开发一个项目,该项目应在辅助显示屏上显示一些演示文稿(API 4.2)。 直到现在一切正常。 但如果我关闭应用程序,我无法阻止演示文稿被关闭。 我想创建一个正在启动后台服务的应用程序,该服务正在初始化演示文稿。 这样用户只需在状态栏中看到通知图标,但服务正在将内容流式传输到辅助显示器。 任何想法,如果这可以实现? 我尝试使用backgroundservice,但不知道我应该使用哪种上下文。 尝试过 getApplicationContext() 但后来我得到一个例外: Unable to add window — token null is not for an application 如果我使用像getAppContext()这样的静态方法(我知道这样一个丑陋的黑客)它将显示演示文稿,但如果我关闭应用程序也会隐藏它。 有任何想法吗?

Intent始终为null onStartCommand

我有以下代码 @Override public int onStartCommand(Intent intent, int flags, int startId) { if(intent != null) { Log.i(“INTENT”, intent.getAction().toString()); } return START_STICKY; } 但它总是在线返回NullPointerException : Log.i(“INTENT”, intent.getAction().toString()); 为什么? 我在上面检查“intent”variables是否为空。 如果是这种情况,请执行以下代码。 但我仍然有nullpointerexception。 服务从以下活动开始: startService(new Intent(this, MainService.class)); 我究竟做错了什么?

清单中的Android抽象活动

对于我的应用程序,我将创建各种扩展android.app.Activity和android.app.Service类的抽象类。 当我将我的抽象类子类化时,如何将它们添加到android清单中? 我是否需要将抽象类和子类添加到清单或仅仅是子类? 他们需要在同一个包裹中吗?

使用localbroadcastmanager sendorderedbroadcast的组合发送广播

我想在这篇博客文章中实现CommonsWare所描述的内容: http : //commonsware.com/blog/2010/08/11/activity-notification-ordered-broadcast.html 。 这篇文章很有意义,我可以在这里浏览示例源代码: https : //github.com/commonsguy/cw-advandroid/tree/master/Broadcast 。 我很好奇的是调用LocalBroadcastManager.getInstance(UnzipService.this).sendBroadcast(broadcast); 服务内部仍将由您在清单中定义的types的广播接收器接收。 如果我要问的不清楚,我想要做的是使用LocalBroadcastManager,因为我的服务广播不一定需要在系统范围内看到,如果可能的话我宁愿保密。但是如果用户关闭我的应用并且服务仍在运行,我也想显示通知。 有没有办法结合这两种function而不在服务内部发送两次广播? (我不想要做的)像: LocalBroadcastManager.getInstance(UnzipService.this).sendBroadcast(broadcast); sendOrderedBroadcast(broadcast); LocalBroadcastManager.getInstance(UnzipService.this).sendBroadcast(broadcast); sendOrderedBroadcast(broadcast);