javascript

git

java

python

git-remote

c++

github

django

c#

reactjs

generator

coroutine

spring-mvc

reflection

javascript-objects

html5

analytics

node.js

performance

branch-prediction

位图-从通知Android中的网址加载图像

在我的Android应用程序中,我想动态设置将从URL加载的Notification图标。 为此,我在receiver中使用了NotificationBuilder的setLargeIcon属性。我引用了许多链接并尝试了各种解决方案,但无法获得所需的输出。 虽然我从url下载了该图像并在通知中设置了该位图,但未显示该图像。 而是将setSmallIcon图像显示为大图标。 我不知道我要去哪里错了。 我在这里发布我的代码。 请帮我解决这个问题。 谢谢。

码:

@SuppressLint("NewApi")
public class C2DMMessageReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {
            Log.e("C2DM", "received message");
            final String fullName = intent.getStringExtra("message");
            final String payload1 = intent.getStringExtra("message1");
            final String payload2 = intent.getStringExtra("message2");
            final String userImage = intent.getStringExtra("userImage");

            Log.e("userImage Url :", userImage); //it shows correct url

            new sendNotification(context)
                    .execute(fullName, payload1, userImage);
        }
    }

private class sendNotification extends AsyncTask<String, Void, Bitmap> {

        Context ctx;
        String message;

        public sendNotification(Context context) {
            super();
            this.ctx = context;
        }

        @Override
        protected Bitmap doInBackground(String... params) {

            InputStream in;
            message = params[0] + params[1];
            try {

                in = new URL(params[2]).openStream();
                Bitmap bmp = BitmapFactory.decodeStream(in);
                return bmp;

            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Bitmap result) {

            super.onPostExecute(result);
            try {
                NotificationManager notificationManager = (NotificationManager) ctx
                        .getSystemService(Context.NOTIFICATION_SERVICE);

                Intent intent = new Intent(ctx, NotificationsActivity.class);
                intent.putExtra("isFromBadge", false);


                Notification notification = new Notification.Builder(ctx)
                        .setContentTitle(
                                ctx.getResources().getString(R.string.app_name))
                        .setContentText(message)
                        .setSmallIcon(R.drawable.ic_launcher)
                        .setLargeIcon(result).build();

                // hide the notification after its selected
                notification.flags |= Notification.FLAG_AUTO_CANCEL;

                notificationManager.notify(1, notification);

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
trans by 2020-08-03T18:49:21Z

java-发布了错误的通知-无法针对以下项展开RemoteViews:StatusBarNotification

我试图从IntentService的通知区域中发布具有自定义视图的通知,并出现IntentService错误。

这是我在IntentService中所做的事情:

mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
icon = R.drawable.icon;
tickerText = "data upload in progress";
contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notiflayout);
contentView.setImageViewResource(R.id.image, R.drawable.icon);
contentView.setTextViewText(R.id.text, "Hello");
contentView.setProgressBar(R.id.progressBar, 100, 10, false);
whatNext = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(getApplicationContext(), starterActivity.class), 0);
notification = new Notification(icon, tickerText, System.currentTimeMillis());
notification.contentView = contentView;
notification.contentIntent = whatNext;

我正在从IntentService致电IntentService,并在onDestroy()中取消通知。

我已验证该代码可在没有IntentService的独立应用程序中正常工作。在IntentService中这样做会给您带来麻烦。

有人可以解释我做错了什么吗?

谢谢!

trans by 2020-08-02T21:11:14Z

可以从工作线程调用NoticationManager.notify()吗?

我的问题更多是关于什么是好的实践,而不是可能的:

  • 从辅助线程调用NoticationManager.notify()是件好事吗?
  • 系统是否仍在UI线程中执行它?

我总是要谨记,有关UI的内容应在UI线程中执行,其余部分应在工作线程中执行,如Android关于流程和线程的文档所建议的那样:

此外,Andoid UI工具包也不是线程安全的。 所以,你必须 不能通过辅助线程来操作您的UI,您必须做所有 从UI线程对用户界面进行操作。 因此, 仅仅是Android单线程模型的两个规则:

  • 不要阻塞UI线程
  • 不要从UI线程外部访问Android UI工具包

但是,我对Android文档本身给出的一个示例感到惊讶(关于在Notifications中显示进度),其中正在进行的通知进度是直接从worker线程更新的:

mNotifyManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(this);
mBuilder.setContentTitle("Picture Download")
    .setContentText("Download in progress")
    .setSmallIcon(R.drawable.ic_notification);
// Start a lengthy operation in a background thread
new Thread(
    new Runnable() {
        @Override
        public void run() {
            int incr;
            // Do the "lengthy" operation 20 times
            for (incr = 0; incr <= 100; incr+=5) {
                    // Sets the progress indicator to a max value, the
                    // current completion percentage, and "determinate"
                    // state
                    mBuilder.setProgress(100, incr, false);
                    // Displays the progress bar for the first time.
                    mNotifyManager.notify(0, mBuilder.build());
                        // Sleeps the thread, simulating an operation
                        // that takes time
                        try {
                            // Sleep for 5 seconds
                            Thread.sleep(5*1000);
                        } catch (InterruptedException e) {
                            Log.d(TAG, "sleep failure");
                        }
            }
            // When the loop is finished, updates the notification
            mBuilder.setContentText("Download complete")
            // Removes the progress bar
                    .setProgress(0,0,false);
            mNotifyManager.notify(ID, mBuilder.build());
        }
    }
// Starts the thread by calling the run() method in its Runnable
).start();

这就是为什么我想知道是否实际上有必要在主线程上运行它,或者系统是否要照顾它。

谢谢你的帮助!

trans by 2020-08-01T15:43:00Z

android-GCM注册ID是否过期?

我知道C2DM注册会过期,并且您应该定期刷新注册ID。 GCM就是这种情况吗? 通过查看Android GCM指南(如下所示)上的以下代码,似乎您只需要执行一次,而无需刷新,但是我看不到任何地方都明确编写了该代码,因此我只想检查一下。

final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
  GCMRegistrar.register(this, SENDER_ID);
} else {
  Log.v(TAG, "Already registered");
}
trans by 2020-07-31T22:53:21Z

android-来自通知的意图没有额外内容

这似乎是一个常见的问题,我经历了所有已经可以找到的相关问题:活动没有获取新的意图,为什么没有在android通知意图中发送额外的数据(整数)? 但仍然无法弄清楚。

问题是一样的。 我设置了一个带有PendingIntent的通知,其中包含一些额外的信息,但我却没有得到另一面。

这是用于生成通知的代码:

Notification notification = new Notification(R.drawable.icon, getResources().getString(R.string.notification_ticker), System.currentTimeMillis());
notification.flags = Notification.FLAG_AUTO_CANCEL | Notification.FLAG_ONLY_ALERT_ONCE;

Intent start_test = new Intent(this, MyActivity.class);
start_test.putExtra("start_test", true);
start_test.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

PendingIntent pi = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), start_test, PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(this, getResources().getString(R.string.notification_title), getResources().getString(R.string.notification_content, expired), pi);
nm.notify(NOTIFICATION_ID, notification);

在另一边:

boolean start_test=getIntent().getBooleanExtra("start_test", false);

该束实际上不存在(getExtras()返回null)。

我尝试了onCreateonNewIntentonResumeFLAG_ACTIVITY_NEW_TASK)的不同标志,但这些标志都没有帮助。

如代码中所示,我使用getCurrentMillis来确保requestID更改...。

还发现在MyActivity中,没有调用onCreateonNewIntent。 只有onResume是。 即使设置了FLAG_ACTIVITY_NEW_TASK ...?

我是否缺少一些简单的东西?

trans by 2020-07-30T05:26:54Z

android-更新通知文本,而不是整个通知

序幕

我正在尝试在通知上添加计时器。 天文钟是一项服务。 此行每一秒钟都会被调用一次(continue Thread是一个“正在运行的”布尔值,timeString是显示时间的精心制作的String):

NotificationChrono.updateNotification(getApplicationContext(), continueThread, 
NOTIF_ID, timeString, "Chronometer", notificationManager);

这是NotificationChrono类:

public class NotificationChrono {

    static public void updateNotification(Context context, boolean running,
        int id, String title, String text,
        NotificationManager notificationManager) {

        Intent stopIntent = new Intent("com.corsalini.david.barcalc.STOP");
        PendingIntent stopPendingIntent = PendingIntent.getBroadcast(context,
            0, stopIntent, 0);

    Intent startIntent = new Intent(
            "com.corsalini.david.barcalc.STARTPAUSE");
    PendingIntent startPendingIntent = PendingIntent.getBroadcast(context,
            0, startIntent, 0);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(
            context)

            .setContentText(context.getString(R.string.notif_text))

            .setContentTitle(title)

            .setSmallIcon(R.drawable.ic_action_alarm_2)

            .setAutoCancel(false)

            .setOngoing(running)

            .setOnlyAlertOnce(true)

            .setContentIntent(
                    PendingIntent.getActivity(context, 10, new Intent(
                            context, FrontActivity.class)
                            .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP), 0))
            .addAction(
                    running ? R.drawable.ic_action_pause
                            : R.drawable.ic_action_play,
                    running ? context.getString(R.string.pause) : context
                            .getString(R.string.start), startPendingIntent)
            .addAction(R.drawable.ic_action_stop,
                    context.getString(R.string.stop), stopPendingIntent);

    notificationManager.notify(id, builder.build());
}
}

问题

通知每秒钟都会被删除和重新创建,从视觉上看,这意味着通知每秒钟都会消失并重新出现在通知列表中。

我想要的只是更新TITLE文本,而不是每秒都重新创建通知。 可能吗?

trans by 2020-07-14T11:35:22Z

android-蜂窝通知-如何将largeIcon设置为正确的大小?

我发现自己很好奇为什么Notification.Builder上的setLargeIcon方法只接受一个位图,而没有提供资源ID的重载。 也许是出于性能方面的考虑而完成的,但由于setSmallIcon确实接受res可绘制的id,所以这似乎很奇怪。

Notification.Builder builder = new Notification.Builder(application);
// ....
builder.setLargeIcon(iconBitmap);  // Requires a Bitmap
builder.setSmallIcon(iconResId);   // Requires a drawable resource ID
Notification notification = builder.getNotification();

遗憾的是,提供的位图未在通知中缩放,因此需要为通知视图提供正确大小的位图。

假设我需要提供largeIcon位图的xhdpi,hdpi,mdpi和ldpi版本,它们的大小是多少? 我看不到文档中提到的任何内容,也没有在搜索更广泛的网络后看到任何内容。

trans by 2020-07-10T20:17:02Z

android-Firebase FCM通知click_action有效负载

当用户在后台运行应用程序时,当用户单击通知时,我试图打开一个特定的活动。 从文档中,我知道必须在有效负载中添加click_action,并在应用程序中添加意图过滤器来处理它。 但是,如何通过Firebase控制台在Firebase通知中添加click_action? 我也欢迎其他任何解决方法。 提前致谢。

trans by 2020-07-07T22:38:23Z

单击Android Notification Actions不会关闭Notification d

我正在使用IntentService库将通知添加到系统栏。 该通知具有两个操作按钮。 另外,Notification的NotificationManager.cancel(NOTIFICATION_ID)属性设置为true。

在单击操作按钮时,系统配置为启动IntentService,它调用NotificationManager.cancel(NOTIFICATION_ID),然后在“新任务”中启动活动。
问题是,尽管此调用从托盘中删除了通知,但它不会折叠抽屉。 被调用的活动绘制在抽屉后面。

有人可以说明取消取消通知前需要关闭哪些特殊代码吗?

trans by 2020-06-19T14:56:19Z

抬头通知-Android Lollipop

我试图显示通知式的抬头,但我不能。 我尝试了什么

final Notification.Builder notif = new Builder(getApplicationContext())
    .setContentTitle(getString(R.string.title))
    .setContentText(getString(R.string.text))
//  .setTicker(getString(R.string.tick)) removed, seems to not show at all
//  .setWhen(System.currentTimeMillis()) removed, match default
//  .setContentIntent(contentIntent) removed, I don't neet it
    .setColor(Color.parseColor(getString(R.color.yellow))) //ok
    .setSmallIcon(R.drawable.ic_small) //ok
    .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
//  .setCategory(Notification.CATEGORY_CALL) does not seem to make a difference
    .setPriority(Notification.PRIORITY_MAX); //does not seem to make a difference
//  .setVisibility(Notification.VISIBILITY_PRIVATE); //does not seem to make a difference

mNotificationManager.notify(Constants.NOTIFICATION_ID, notif.build());

通知仅在栏中显示为图标。我在API 21仿真器上使用API 21(不是L预览)我试过了:
android:Theme.Holo.NoActionBar
android:Theme.Holo.NoActionBar.Fullscreen
NotificationCompat.Builder

SDK示例不可用。 有人知道怎么做吗?

我通过添加使其工作:

.setDefaults(Notification.DEFAULT_VIBRATE)

这是最好的方法吗?

trans by 2020-02-14T00:00:14Z

android-如何使用NotificationCompat.Builder创建通知?

我需要创建一个简单的通知,如果可能的话,它会与声音和图标一起显示在通知栏中? 我还需要它与Android 2.2兼容,因此我发现NotificationCompat.Builder可与4以上的所有API一起使用。如果有更好的解决方案,请随时提及。

trans by 2020-01-18T20:59:20Z

android-使用API 26的NotificationCompat

我没有看到有关如何在Android O的channelId中使用NotificationCompat的任何信息

我确实看到一个采用channelId的新构造方法,但是由于createNotificationChannel采用了NotificationChannel对象,因此如何获取Compat通知并在NotificationChannel中使用它

trans by 2020-01-02T08:06:03Z

如何在android中显示多个通知

我只收到一个通知,如果有另一个通知,它将替换前一个通知,这是我的代码

private static void generateNotification(Context context, String message,
        String key) {
    int icon = R.drawable.ic_launcher;
    long when = System.currentTimeMillis();
    NotificationManager notificationManager = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notification = new Notification(icon, message, when);

    String title = context.getString(R.string.app_name);

    Intent notificationIntent = new Intent(context,
            FragmentOpenActivity.class);
    notificationIntent.putExtra(key, key);
    // set intent so it does not start a new activity
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
            | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent intent = PendingIntent.getActivity(context, 0,
            notificationIntent, 0);
    notification.setLatestEventInfo(context, title, message, intent);
    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    notification.defaults |= Notification.DEFAULT_SOUND;

    // notification.sound = Uri.parse("android.resource://" +
    // context.getPackageName() + "your_sound_file_name.mp3");
    notification.defaults |= Notification.DEFAULT_VIBRATE;
    notificationManager.notify(0, notification);

}
trans by 2019-09-11T15:17:00Z

如何修复:android.app.RemoteServiceException:从包*发布的错误通知:无法创建图标:StatusBarIcon

我在崩溃日志中看到以下异常:

android.app.RemoteServiceException: Bad notification posted from package com.my.package: Couldn't create icon: StatusBarIcon(pkg=com.my.package user=0 id=0x7f02015d level=0 visible=true num=0 )
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1456)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:146)
    at android.app.ActivityThread.main(ActivityThread.java:5487)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
    at dalvik.system.NativeStart.main(Native Method)

我使用以下方法通过AlarmManager从PendingIntent集中从IntentService发布我的通知。 此处传递的所有值都来自PendingIntent / IntentService中的bundle extras。

/**
 * Notification 
 *
 * @param c
 * @param intent
 * @param notificationId
 * @param title
 * @param message
 * @param largeIcon
 * @param smallIcon
 */
public static void showNotification(Context c, Intent intent,
        int notificationId, String title, String message, int largeIcon,
        int smallIcon) {
    PendingIntent detailsIntent = PendingIntent.getActivity(c,
            notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT);

    // BUILD
    NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(
            c);
    // TITLE
    mNotifyBuilder.setContentTitle(title).setContentText(message);

    // ICONS
    mNotifyBuilder.setSmallIcon(smallIcon);
    if (Util.isAndroidOSAtLeast(Build.VERSION_CODES.HONEYCOMB)) {
        Bitmap large_icon_bmp = ((BitmapDrawable) c.getResources()
                .getDrawable(largeIcon)).getBitmap();
        mNotifyBuilder.setLargeIcon(large_icon_bmp);
    }

    mNotifyBuilder.setContentIntent(detailsIntent);
    mNotifyBuilder.setVibrate(new long[] { 500, 1500 });
    mNotifyBuilder.setTicker(message);
    mNotifyBuilder.setContentText(message);

    // NOTIFY
    NotificationManager nm = (NotificationManager) c
            .getSystemService(Context.NOTIFICATION_SERVICE);
    nm.notify(notificationId, mNotifyBuilder.build());
}

从我看到的其他答案 - 我看到的异常发生在setSmallIcon()没有被正确调用时。

我已检查并仔细检查传递的资源ID是否正确。

trans by 2019-08-04T04:16:21Z

Android:在线测试推送通知(Google云消息传递)

更新:不推荐使用GCM,请使用FCM

我正在我的应用程序中实现Google Cloud Messaging。 服务器代码还没有准备好,在我的环境中由于一些防火墙限制,我无法为推送通知部署测试服务器。 我正在寻找的是一个在线服务器,它会向我的设备发送一些测试通知来测试我的客户端实现。

trans by 2019-08-02T13:54:17Z

android - Notification传递旧的Intent Extras

我通过以下代码在BroadcastReceiver中创建通知:

String ns = Context.NOTIFICATION_SERVICE;
        NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
        int icon = R.drawable.ic_stat_notification;
        CharSequence tickerText = "New Notification";
        long when = System.currentTimeMillis();

        Notification notification = new Notification(icon, tickerText, when);
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        long[] vibrate = {0,100,200,200,200,200};
        notification.vibrate = vibrate;
        notification.flags |= Notification.FLAG_AUTO_CANCEL;

        CharSequence contentTitle = "Title";
        CharSequence contentText = "Text";
        Intent notificationIntent = new Intent(context, NotificationActivity.class);
        notificationIntent.putExtra(Global.INTENT_EXTRA_FOO_ID, foo_id);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);

        notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

        int mynotification_id = 1;

        mNotificationManager.notify(mynotification_id, notification);

当我点击通知时,它会打开NotificationActivity,在Activity中我可以从Intent-Bundle中检索foo_id(例如1)

但是,如果触发了另一个通知并再次单击它,则活动仍然会收到&#34; old&#34; 来自Intent-Bundle的值(1)。 我试图用clear()清除包,但收到的效果相同。 我觉得我的代码错了......

trans by 2019-06-26T22:38:59Z

service - 升级到Android 8.1后startForeground失败

将手机升级到8.1开发人员预览后,我的后台服务不再正常启动。

在我长期运行的服务中,我实现了一个startForeground方法来启动在create上调用的持续通知。

    @TargetApi(Build.VERSION_CODES.O)
private fun startForeground() {
    // Safe call, handled by compat lib.
    val notificationBuilder = NotificationCompat.Builder(this, DEFAULT_CHANNEL_ID)

    val notification = notificationBuilder.setOngoing(true)
            .setSmallIcon(R.drawable.ic_launcher_foreground)
            .build()
    startForeground(101, notification)
}

错误信息:

11-28 11:47:53.349 24704-24704/$PACKAGE_NAMEE/AndroidRuntime: FATAL EXCEPTION: main
    Process: $PACKAGE_NAME, PID: 24704
    android.app.RemoteServiceException: Bad notification for startForeground: java.lang.RuntimeException: invalid channel for service notification: Notification(channel=My channel pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x42 color=0x00000000 vis=PRIVATE)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1768)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

服务通知的通道无效,显然我的旧通道DEFAULT_CHANNEL_ID不再适用于我假设的API 27。 什么是合适的渠道? 我试图浏览一下文档

trans by 2019-06-25T06:04:44Z

Android通知声音

我使用了较新的NotificationCompat构建器,但我无法收到通知以发出声音。 它会振动并闪烁光线。 android文档说要设置我已完成的样式:

  builder.setStyle(new NotificationCompat.InboxStyle());

但没声音?

完整代码:

NotificationCompat.Builder builder =  
        new NotificationCompat.Builder(this)  
        .setSmallIcon(R.drawable.ic_launcher)  
        .setContentTitle("Notifications Example")  
        .setContentText("This is a test notification");  


Intent notificationIntent = new Intent(this, MenuScreen.class);  

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,   
        PendingIntent.FLAG_UPDATE_CURRENT);  

builder.setContentIntent(contentIntent);  
builder.setAutoCancel(true);
builder.setLights(Color.BLUE, 500, 500);
long[] pattern = {500,500,500,500,500,500,500,500,500};
builder.setVibrate(pattern);
builder.setStyle(new NotificationCompat.InboxStyle());
// Add as notification  
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);  
manager.notify(1, builder.build());  
trans by 2019-05-12T02:51:58Z

android - 自定义通知布局和文本颜色

我的应用程序显示了一些通知,并且根据用户首选项,它可能会在通知中使用自定义布局。 它运作良好,但有一个小问题 - 文本颜色。 股票Android和几乎所有制造商皮肤都使用黑色文本作为通知文本的浅色背景,但三星没有:他们的通知下拉具有深色背景,默认通知布局中的文本是白色。

所以这会导致一个问题:不使用任何花哨布局的通知显示正常,但使用自定义布局的通知很难阅读,因为文本是黑色而不是默认白色。 即使官方文档只为TextView设置了#000颜色,所以我找不到任何指针。

用户很友好地截取问题的屏幕截图:

Screenshot

那么如何在布局中使用设备中的默认通知文本颜色? 我宁愿不开始根据手机型号动态改变文本颜色,因为这需要大量更新,而定制ROM的人可能仍会遇到问题,具体取决于他们使用的皮肤。

trans by 2019-05-08T18:17:53Z

Android 4.1:如何检查应用程序的通知是否已禁用?

Android 4.1为用户提供了一个复选框,用于禁用特定应用程序的通知。

但是,作为开发人员,我们无法知道对通知的调用是否有效。

我真的需要检查当前应用程序是否禁用了通知,但我在API中找不到任何设置。

有没有办法在代码中检查此设置?

trans by 2019-04-16T07:38:32Z

1 2 下一页 共2页