相关疑难解决方法(0)

报警管理器示例

我想在我的项目中实现一个计划功能.所以我用Google搜索了一个报警管理器程序,但我找不到任何例子.

任何人都可以帮我一个基本的报警管理程序吗?

java android alarmmanager kotlin

329
推荐指数
5
解决办法
31万
查看次数

Android - 启动时启动服务

从我在Stack Exchange和其他地方看到的所有东西,我已经正确设置了所有东西,以便在Android OS启动时启动IntentService.不幸的是它没有启动,我没有收到任何错误.也许专家可以提供帮助......

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.phx.batterylogger"
  android:versionCode="1"
  android:versionName="1.0"
  android:installLocation="internalOnly">

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BATTERY_STATS" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <service android:name=".BatteryLogger"/>
    <receiver android:name=".StartupIntentReceiver">  
        <intent-filter>  
            <action android:name="android.intent.action.BOOT_COMPLETED" />  
        </intent-filter>  
    </receiver>
</application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

BroadcastReceiver for Startup:

package com.phx.batterylogger;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class StartupIntentReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent serviceIntent = new Intent(context, BatteryLogger.class);
        context.startService(serviceIntent);
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:我尝试了下面的所有建议,并且我将日志记录添加Log.v("BatteryLogger", "Got to onReceive, …

java android broadcastreceiver intentservice

96
推荐指数
1
解决办法
10万
查看次数

具有boot_completed的运行时异常Android O.

我正在尝试在我的BOOT_COMPLETED接收器中启动一个IntentService,但在Android O(API 26)中,我得到:

java.lang.RuntimeException: 
java.lang.IllegalStateException: 
Not allowed to start service Intent { act=intent.action.update cmp=packageName.services.OwnService }: 
app is in background
Run Code Online (Sandbox Code Playgroud)

(消息在一行中,但这样更易读)

我怎么能以正确的方式做到这一点?

android bootcompleted android-broadcastreceiver android-8.0-oreo

28
推荐指数
1
解决办法
9155
查看次数

如果应用关闭,后台有android通知吗?

即使我的应用程序已关闭,我也试图在Android通知栏中显示通知.

我试过搜索,但我没有找到帮助的运气.

一个例子是新闻应用程序.即使手机屏幕关闭或新闻应用程序关闭,它仍然可以发送最近新闻的通知并将其显示在通知栏中.

我如何在自己的应用程序中执行此操作?

android background-process android-notifications

16
推荐指数
1
解决办法
4万
查看次数

在Android中完成启动后自动启动应用程序

我想在其设置中创建一个具有自动启动选项的应用程序.我在我的应用程序中创建了一个从PreferenceActivity派生的Settings活动,并为自动启动选项提供CheckBoxPreference.如果启用了自动启动选项,我的应用程序应在启动手机时启动.如果禁用了自动启动选项,则它不应在启动完成时启动.

为了实现这一点,我实现了BroadcastReceiver的派生类,它接收BOOT_COMPLETED意图,在AndroidManifest.xml中声明接收器,并在AndroidManifest.xml中授予权限.

在应用程序中,还有一个派生类的Application和启动服务也来自应用程序派生类的onCreate方法.如果我在AndroidManifest.xml中声明接收器,那么在启动我的应用程序的onCreate之后调用,然后调用BroadcastReceiver的onReceive方法.

现在的问题是,无论是启用还是禁用自动启动,我的应用程序每次启动都会启动.禁用自动启动时是否可以不启动应用程序?

android autostart broadcastreceiver android-intent

12
推荐指数
3
解决办法
3万
查看次数

由UI启动的第1部分持久foreGround android服务,也在睡眠模式下工作,也在手机重启时启动

Status:---同样接受Karakuri的和沙拉德Mhaske的答案,但由于沙拉德Mhaske回答之后赏金的开始,赏金应该去他.

第2 部分:第2 部分持续foreGround android服务,由UI启动,也在睡眠模式下工作,也从手机重启开始

stack overflow,只有一个答案可以接受.我认为这两个答案都是可以接受的,但必须选择一个(我随机选择).

观众邀请上/下投票答案/问题,以欣赏努力!.我赞成Karakuri的答案来弥补声誉.

Scenario:---

  1. 我想让用户单击开始/停止按钮并从UI活动启动/停止服务.我已经制作了用户界面,所以不关心它.但只是按钮点击事件的逻辑.

  2. 难道希望该服务绑定到用户界面活动.如果活动关闭,服务应继续运行.

  3. 想要尽最大努力保持服务的持久性并且在任何情况下都不会停止.将它赋予最大的权重并运行它,ForGroundSerice因为它具有更高的重要性层次.(希望没问题?)

  4. 除非我的应用程序用户界面点击了停止按钮,否则不要让它停止(或者应该重新启动)即使android回收内存.我和手机用户都知道了.这项服务至关重要.即使在睡觉.

    details =我的应用程序执行一些操作,为用户提供的时间(通常为15分钟)休眠,唤醒并再次执行操作.这永远不会结束)

    如果我需要AlarmManager,如何实现?或任何其他方式?或者只是把操作放在while loop and sleep for 15 minuts最后?

  5. 启动服务时(通过单击"开始"按钮).它应该输入一个条目,以便在手机重启时自动启动.

QUESTION:---

Primary Question:

  1. 只是无法为场景获得最佳策略 …

android android-intent android-service android-alarms android-backup-service

11
推荐指数
1
解决办法
5759
查看次数

在没有活动的情况下启动FCM服务

我已经按照Firebase快速入门消息传递教程,我遇到了问题.

我想在系统启动时启动两个服务(MyFirebaseMessagingServiceMyFirebaseInstanceIDService).

为此,我已将RECEIVE_BOOT_COMPLETED权限添加到我的AndroidManifest.xml.

我也把它添加到Manifest:

<receiver android:name=".AutoStart">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

在我的AutoStart班上,有这样的:

@Override
public void onReceive(Context context, Intent intent) {
    context.startService(new Intent(context, MyFirebaseInstanceIDService.class));
    context.startService(new Intent(context, MyFirebaseMessagingService.class));
}
Run Code Online (Sandbox Code Playgroud)

这两项服务与我上面提供的链接几乎相同.我MainActivity只包含一些Views.

但它不起作用:一旦服务启动,服务就会自动终止,我在logcat中收到这样的消息:

I/ActivityManager? Killing 3100:com.company.E/u0a85 (adj 15): empty #17
Run Code Online (Sandbox Code Playgroud)

我已经搜索了关于这个"杀戮问题"的解决方案,我想我在这里找到了一些有趣的东西(关于WakefulBroadcastReceiver).

如果这部分解决方案,我遇到了这个答案的另一个问题...... onHandleIntent()他谈到的覆盖方法是IntentService我的两个服务所在的一部分Service.

如果这不是解决方案的一部分,我不知道如何防止我的应用程序被杀死 ...

boot service android-studio firebase-cloud-messaging

9
推荐指数
0
解决办法
2042
查看次数

使用START_STICKY的Android服务在杀死应用时崩溃

这是我Service从一个按钮点击调用Activity.如果我ActivityService运行时向左滑动它会崩溃.我也尝试通过放入android:process=":remote"清单在单独的过程中运行它,但它仍然是相同的.

@Override
public void onCreate(){
    super.onCreate();
    Log.d("Service", "Creating");
}

@Override
public IBinder onBind(Intent intent) {
    // TODO: Return the communication channel to the service.
    return null;
}

@Override
public int onStartCommand (Intent intent, int flags, int startId)
{
    super.onStartCommand(intent, flags, startId);

    Log.d("Started", "Service");

    type = intent.getIntExtra("Type",-1);
    mode = intent.getIntExtra("Mode",-1);
    rank = intent.getIntExtra("Rank", -1);
    latitude = intent.getDoubleExtra("Lat", -1.0);
    longitude = intent.getDoubleExtra("Long", -1.0);
    startTime = intent.getLongExtra("Start", 0);
    endTime = intent.getLongExtra("End", 0);
Run Code Online (Sandbox Code Playgroud)

我得到的错误是: …

android android-service android-lifecycle

7
推荐指数
1
解决办法
1706
查看次数

Android服务:生命周期考虑因素

我正在制作一个Android应用程序,它将有两个服务,将每24小时不断发送用户使用手机的数据.

用户应该执行应用程序,切换按钮以启用手机使用记录,然后用户应该可以使用手机正常生活,直到他再次启动应用程序并禁用切换按钮停止记录信息.

  • 我应该考虑服务的生命周期?
  • 当服务应该发送数据时,用户与电话的交互如何?

所有信息都非常感谢,因为我的想法让这一切变得有点不知所措!

非常感谢大家!

service lifecycle android

5
推荐指数
1
解决办法
1865
查看次数

在 xamarin 中关闭应用程序时接收推送通知

当应用程序完全关闭时,我正在尝试在 Xamarin 中处理 GCM 推送通知。按照 Xamarin 推送通知教程,我可以从 GCM 接收远程/推送通知,但是一旦我关闭应用程序,我就没有收到。这是我迄今为止尝试过的:

1.广播接收器:

    public class MyGCMBroadcastReceiver : BroadcastReceiver {

    public override void OnReceive (Context context, Intent intent)
    {
        Intent gcmListenerServiceIntent = new Intent(context,typeof(MyGcmListenerService));
        Console.WriteLine ("Starting Broadcast Receiver...");
        context.StartService (gcmListenerServiceIntent);
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 显现:

    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="za.co.snappyhome.snappy.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
    <uses-permission android:name="android.permission.CAMERA" …
    Run Code Online (Sandbox Code Playgroud)

android google-cloud-messaging xamarin.forms

5
推荐指数
1
解决办法
3658
查看次数