小编Sim*_*der的帖子

如何从自己的前台通知中停止服务

Service跑了.而onStartCommand我正在startforeground努力避免被系统杀害.

public int onStartCommand(Intent intent, int flags, int startId) {
    if (ACTION_STOP_SERVICE.equals(intent.getAction())) {
        Log.d(TAG,"called to cancel service");
        manager.cancel(NOTIFCATION_ID);
        stopSelf();
    }
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    builder.setContentTitle("abc");
    builder.setContentText("Press below button to stoP.");
    builder.setPriority(NotificationCompat.PRIORITY_HIGH);
    builder.setSmallIcon(R.drawable.ic_launcher);

    Intent stopSelf = new Intent(this, SameService.class);
    stopSelf.setAction(this.ACTION_STOP_SERVICE);
    PendingIntent pStopSelf = PendingIntent.getService(this, 0, stopSelf,0);
    builder.addAction(R.drawable.ic_launcher, "Stop", pStopSelf);
    manager.notify(NOTIFCATION_ID, builder.build());
}
Run Code Online (Sandbox Code Playgroud)

但按下按钮后,PendingIntent工作不正常,我activity不会被它拦住.

有人可以告诉我,我在这里做错了什么或任何其他解决方案来停止notification自我制作的前台服务.

谢谢

service notifications android kill

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

在 XML 布局中使用带有占位符的字符串 android

我有一个带有占位符的字符串,例如

<string name="str_1">Hello %s</string>
Run Code Online (Sandbox Code Playgroud)

我想在 xml 布局中使用它作为 android:text="@string/str_1"。有没有办法在 xml 布局中使用它来填充占位符?提前致谢。我已经知道 java/kotlin 中的 String.format(str,str...) 但我想在 xml 布局中使用它而不需要数据绑定。

string android android-layout android-xml android-xml-attribute

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

在android中为不同的风味创建单独的apk

我使用 build.gradle(app) 来创建不同风格的 apk。但是安装不同风格的同一个 apk 会覆盖前一个。我想创建不同的 apk 以同时在同一设备上运行。我想使用不同的 appicon 创建不同的 apk,这些 appicon 可以安装在同一设备上并同时运行。任何链接或教程或直接帮助表示赞赏。

提前致谢。

android build buildconfiguration apk android-productflavors

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

异常 java.lang.RuntimeException: setParameters 失败

我收到以下错误

Exception java.lang.RuntimeException: setParameters failed
android.hardware.Camera.native_setParameters (Camera.java)
android.hardware.Camera.setParameters (Camera.java:1946)
Run Code Online (Sandbox Code Playgroud)

在下面的代码中。我不知道我在下面做错了什么。

        Camera mCamera = Camera.open();
        Parameters params = mCamera.getParameters();

        if (params.getFlashMode() != null)
            params.setFlashMode(Parameters.FLASH_MODE_OFF);

        if (nightMode && params.getSceneMode() != null)
            params.setSceneMode(Parameters.SCENE_MODE_NIGHT);

        if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
            params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
        } else if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
            params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
        } else if (params.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
            params.setFocusMode(Parameters.FOCUS_MODE_INFINITY);
        }

        mCamera.setParameters(params);
Run Code Online (Sandbox Code Playgroud)

此错误主要发生在三星等某些设备中。请求帮助。提前致谢。

parameters android video-capture android-camera

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

String [] args in main

有人可以说,为什么main方法中的args是String类型.在

public static void main(String args[]){
}
Run Code Online (Sandbox Code Playgroud)

我的意思是,为什么它不是int或float或其他东西.我被问到同样但找不到合适的答案.

java arguments

2
推荐指数
1
解决办法
153
查看次数

android,以编程方式打开锁屏设置

如果用户设置了任何锁定,我正在创建一个应用程序来锁定屏幕。如果他没有设置任何锁定,应用程序会将其重定向到设置中的锁定屏幕,让用户先设置锁定。我已经使用设备管理员权限锁定屏幕和 KeygaurdManager.isDeviceSecure 方法来检查它是否已设置。

但我无法找到如何以编程方式将用户重定向到锁定屏幕。请帮忙。

提前致谢。

settings android lockscreen

2
推荐指数
1
解决办法
3925
查看次数

ClassNotFoundException:K4LVideoTrimmer中的com.coremedia.iso.boxes.FileTypeBox

我正在尝试集成Video -Trimming https://github.com/knowledge4life/k4l-video-trimmer并面临以下错误.我试图按照各种帖子的建议改变proguard.但是还没有成功.请帮忙.谢谢.

02-15 21:59:20.843 5421-5679/? E/AndroidRuntime: FATAL EXCEPTION: pool-8-thread-2
                                             Process: com.abc.main, PID: 5421
                                             java.lang.RuntimeException: java.lang.ClassNotFoundException: com.coremedia.iso.boxes.FileTypeBox
                                                 at com.b.a.g.a(Unknown Source)
                                                 at com.b.a.a.a(Unknown Source)
                                                 at com.d.a.d.r(Unknown Source)
                                                 at com.d.a.d.hasNext(Unknown Source)
                                                 at com.d.a.c.e$1.hasNext(Unknown Source)
                                                 at com.b.a.d.a(Unknown Source)
                                                 at com.d.a.a.b.a.a.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.b.b.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.b.b.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.K4LVideoTrimmer$3.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.b.a$a.run(Unknown Source)
                                                 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
                                                 at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
                                                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
                                                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                 at java.lang.Thread.run(Thread.java:818)
                                              Caused by: java.lang.ClassNotFoundException: com.coremedia.iso.boxes.FileTypeBox
                                                 at java.lang.Class.classForName(Native Method)
                                                 at java.lang.Class.forName(Class.java:324)
                                                 at java.lang.Class.forName(Class.java:285)
                                                 at com.b.a.g.a(Unknown Source) 
                                                 at …
Run Code Online (Sandbox Code Playgroud)

android video-processing

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