android Q(10)发送通知Notification出现无法推送问题解决方式

最近在着手研究android framework,在开发消息通知需求时遇到问题,无论是通过android模拟器或者是实体机器均无法推送通知,通知需求是通过主活动中的点击按钮触发消息通知,具体代码如下:

public void onClick(View v) {
        switch (v.getId()) {
            case R.id.send_notice:
                Intent intent = new Intent(this, NotificationActivity.class);
                PendingIntent pendingIntent = PendingIntent.
                        getActivity(this, 0, intent, 0);

                NotificationManager manager =
                        (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

                Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
                        R.mipmap.ic_png);
                Log.d("MainActivity", String.valueOf((bitmap == null)));

                Notification notification = new Notification.Builder(this, getString(R.string.app_name))
                        .setContentTitle("this is a content t
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Android中,可以使用TextToSpeech(TTS)引擎将文字转换为语音。要在Notification发送通知时使用TTS读出通知内容,可以使用以下步骤: 1. 在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> ``` 2. 在build.gradle文件中添加以下依赖项: ```groovy dependencies { implementation 'com.android.support:support-v4:28.0.0' implementation 'com.google.android.gms:play-services:12.0.1' } ``` 3. 在Notification发送通知时,调用TextToSpeech引擎将通知内容转换为语音,例如: ```java NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.notification_icon) .setContentTitle("My notification") .setContentText("Hello World!") .setPriority(NotificationCompat.PRIORITY_HIGH); NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); notificationManager.notify(notificationId, builder.build()); TextToSpeech tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { tts.setLanguage(Locale.getDefault()); tts.speak("Hello World!", TextToSpeech.QUEUE_ADD, null); } } }); ``` 这将发送一个通知并将“Hello World!”转换为语音。请注意,上述代码只是示例,您需要根据您的需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值