- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
无法在 InstantApp 功能模块中使用前台服务。低于运行时安全异常。
java.lang.RuntimeException: Unable to start activity ComponentInfo{..XYZActivity}: java.lang.SecurityException: Method class android.app.ActivityManagerProxy.getServices not available to instant apps
Android 文档说,
Restricted features: Run on the device without users being aware. Foreground services are available. Instant apps can only be started through activities that support App Links, so services, content providers or broadcast receivers won't be able to start your app.
代码:
// Starting service
getAppContext().startService(new Intent(getAppContext(), FirebaseAuthService.class));
// Foreground service class
public class FirebaseAuthService extends Service {
private static final String TAG = "FirebaseAuthService";
private boolean isRunning = false;
private String mUserId;
private FirebaseAuth mAuth;
@Override
public void onCreate() {
Log.d(TAG, "Service onCreate");
startForeground();
isRunning = true;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "Service onStartCommand");
new Thread(new Runnable() {
@Override
public void run() {
myTask();
}
}).start();
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent arg0) {
Log.i(TAG, "Service onBind");
return null;
}
@Override
public void onDestroy() {
isRunning = false;
Log.i(TAG, "Service onDestroy");
}
private void startForeground() {
Intent notificationIntent = new Intent(this, HomeActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
Notification notification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.noti_logo)
.setContentTitle("Title")
.setContentText("Preparing...")
.setContentIntent(pendingIntent).build();
startForeground(1337, notification);
}
private void myTask() {
// At end
// Stop service once it finishes its task
stopSelf();
}
}
最佳答案
您的代码是正确的,但由于 Instant Apps supervisor 中的一个已知问题,前台服务目前无法正常工作。
关于Android InstantApp : Foreground service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44656049/
我的测试应用程序发布在 Google Play(alpha)的测试封闭轨道中 - 但我也尝试过内部测试,结果相同。 在修复缺少的默认 URL 后,它已经显示了“立即尝试”按钮。 assetlinks.
当我在 InstantApp 模式下启动我的 android 应用程序时,即使在授予相关相机权限后,它也无法打开相机。 我正在创建 Android Instant App,用户可以在其中捕获图像并上传
我正在实现和添加 FirebaseCrash 的 InstantApp。 我按照所有步骤进行设置,当我使用可安装版本的构建配置运行应用程序时,它就像一个魅力,但当我尝试运行 InstantApp 的构
无法在 InstantApp 功能模块中使用前台服务。低于运行时安全异常。 java.lang.RuntimeException: Unable to start activity Component
我遇到了这个问题。 我有这些配置.. compileSdkVersion 26 buildToolsVersion '28.0.3' defaultConfig {
要启用 InstantApp 支持,我是否需要更改我的应用程序的“minSdkVersion”? 我正在使用“minSdkVersion=15”。 最佳答案 没有最低要求。 15 没问题。但仅供引用,
我正在尝试制作一个 instantApp 并在开始 Activity 中放置一个 webView。当我添加一个以 https 开头的 url 时,我可以在我的 webview 上看到该网站。但是当 u
我是一名优秀的程序员,十分优秀!