相关疑难解决方法(0)

使用WebView进行Android推送通知?

我按照本教程创建了一个推送通知应用程序:http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html

它工作正常,花花公子,当我收到通知时,我可以打开一个网站.但是,我能够将webview布局与此推送通知应用程序结合起来吗?我觉得它必须是可能的,因为电子邮件通知以这种方式工作.

这是我的代码处理我收到的通知:

    private void handleData(Context context, Intent intent) {
    String app_name = (String)context.getText(R.string.app_name);
    String message =  intent.getStringExtra("message");

    // Use the Notification manager to send notification
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    // Create a notification using android stat_notify_chat icon. 
    Notification notification = new Notification(android.R.drawable.stat_notify_chat, app_name + ": " + message, 0);

    // Create a pending intent to call the webviewactivity when the notification is clicked
    PendingIntent pendingIntent = PendingIntent.getActivity(context, -1, new Intent(context, webviewactivity.class), PendingIntent.FLAG_UPDATE_CURRENT); // 
    notification.when = …
Run Code Online (Sandbox Code Playgroud)

android push-notification android-webview

6
推荐指数
1
解决办法
3万
查看次数

允许通知 Android webview

上下文 我正在尝试添加来自我的网站的推送通知。我的代码:

  • MainActivity.java
package com.example.neurofinance;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.TargetApi;
import android.content.Context;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;



public class MainActivity extends AppCompatActivity {

    public class WebAppInterface {
        Context mContext;

        /** Instantiate the interface and set the context */
        WebAppInterface(Context c) {
            mContext = c;
        }

        /** Show a toast from the web page */
        @JavascriptInterface
        public void showToast(String toast) {
            Toast.makeText(mContext, toast, …
Run Code Online (Sandbox Code Playgroud)

java android webview push-notification android-layout

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

尝试在空对象上调用接口方法“android.media.session.ISessionController android.media.session.ISession.getController()”

下面的代码是带有使用媒体会话的控件的音乐通知播放器。每当我单击通知中的控件时,它就会崩溃并出现上述错误。请参阅下面的代码,如果我错了,请纠正我。在下面的代码中,我使用媒体会话和广播接收器来构建通知。“track”是我所有歌曲数据的模型类。

   try {
                if (track.getImage() == null) {
                    track.setImage(BitmapFactory.decodeResource(context.getResources(),
                            R.mipmap.ic_launcher));
                }
    
    
                NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(context);
                MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(context, "tag");
                mediaSessionCompat.setMetadata(
                        new MediaMetadataCompat.Builder()
                                .putString(MediaMetadata.METADATA_KEY_TITLE, track.getTitle())
                                .putString(MediaMetadata.METADATA_KEY_ARTIST, track.getArtist())
                                .putBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART, track.getImage())
                                .putString(MediaMetadata.METADATA_KEY_ALBUM, track.getAlbum())
                                .build()
                );
                mediaSessionCompat.setFlags(
                        MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS |
                                MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);
    
                PlaybackStateCompat.Builder stateBuilder = new PlaybackStateCompat.Builder();
    
                stateBuilder.setActiveQueueItemId(MediaSession.QueueItem.UNKNOWN_ID);
    
                long actions = PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS;
                stateBuilder.setActions(actions);
                if (isPlaying) {
                    stateBuilder.setState(PlaybackStateCompat.STATE_PLAYING, 0, 1.0f);
                    mediaSessionCompat.setActive(true);
    
                } else {
                    stateBuilder.setState(PlaybackStateCompat.STATE_PAUSED, 0, 1.0f);
                    mediaSessionCompat.setActive(true);
    
    
                }
                mediaSessionCompat.setPlaybackState(stateBuilder.build());
                Bitmap icon = track.getImage();
    
    
                PendingIntent pendingIntentPrevious;
                int drw_previous;
    
    // …
Run Code Online (Sandbox Code Playgroud)

notifications android webview android-mediaplayer mediasession

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