如果在背景中,MyApp的接收器工作正常,它是:
public class MySmsReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("triggered sms");
if(intent.getAction().equals(Telephony.Sms.Intents.SMS_RECEIVED_ACTION)) {
Toast.makeText(context, "message Received", Toast.LENGHT_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
我的接收器清单文件是
<receiver android:name=".MySmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
文件说,如果我在清单文件中声明一个接收器,它应该始终有效.但就我而言,它不是......
但每当我通过刷它清除我最近的应用程序时它就停止了工作.在我去任务管理员后看到MyApps强制停止如下所示 
我想出了一些应用程序,如watsapp和fb总是留在内存中说这个bcoz刷完清楚的最近的应用程序仍然任务管理器有如下所示的跟随状态
我怎么能在我的应用程序中执行此操作..什么会使我的应用程序像其他第三方应用程序,如watspp和Facebook ...我怎么能让我的应用程序在内存中总是我问这个然后只有我的接收器将始终工作..如果我错了,请给我一个解决方案来做到这一点......
我一直在搜索这个问题但仍然无法找到解决方案...我错了吗?还是真的有办法做到这一点?请有人帮帮我...这让我一周!!! 希望我在这里解释我的问题,如果我不问我,我会立即给你答复.
service android taskmanager broadcastreceiver google-cloud-messaging
我的应用程序中的服务需要一直在后台运行,在所有设备中它的工作正常除了小米,我已经阅读了一些我们需要在应用程序的设置中启用自动启动以保持服务运行的地方.
所以请告诉我如何以编程方式启用自动启动,因为用户永远不会这样做.
任何帮助将不胜感激.
我已经在 Xamarin 中编写了一个同步适配器,但在小米 MiUI 下存在问题。
同步适配器启动有两种方法:一种是通过电话“设置->帐户->同步”,另一种是在应用程序中借助ContentResolver.RequestSync()。
首先,我必须为我的应用程序打开 MiUI AutoStart。否则安全系统将错误记录下来。
I/AutoStartManagerService: MIUILOG-拒绝服务:Intent { act=android.content.SyncAdapter cmp=com.fingrad.dashboard/.AdapterService (has extras) } userId : 0 uid : 10186 E/SyncManager: 绑定尝试失败 - 目标: ComponentInfo {com.fingrad.dashboard/com.fingrad.dashboard.AdapterService}
然而,除非应用程序已经在手机内存中,否则第一种方法不起作用。如果 SyncAdapterService 没有清空 Process 属性,则第二种方法不起作用。请参阅下面的示例。
[Service(Name = "com.fingrad.dashboard.SyncAdapterService"
, Exported = true, Process = ":sync")]
[IntentFilter(new[] { "android.content.SyncAdapter" })]
[MetaData("android.content.SyncAdapter", Resource = "@xml/syncadapter")]
class SyncAdapterService : Service
Run Code Online (Sandbox Code Playgroud)
换句话说,如果任何条件为真,适配器就不起作用。1) Adapter 服务有 Process 属性 2) 手机内存中没有应用实例。
很明显,问题的根源在于MiUI安全。MiUI 启动同步适配器,启动另一个没有自动启动权限的进程。我尝试设置“Process="application default process name”,但没有帮助。
更新PS 时间过去了,但问题仍然存在。红米 Note 4、MIUI 9.5、Android 7 和红米 Note 3、MIUI 9.5、Android 6。