精华内容
下载资源
问答
  • 2022-03-02 13:26:43

    2022-03-02 11:27:16.392 11813-11813/com.jia.decoration E/AndroidRuntime: FATAL EXCEPTION: main
        Process: com.jia.decoration, PID: 11813
        java.lang.IllegalArgumentException: com.jia.decoration: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
        Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
            at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
            at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:458)
            at android.app.PendingIntent.getActivity(PendingIntent.java:444)
            at android.app.PendingIntent.getActivity(PendingIntent.java:408)
            at com.qijia.o2o.MainActivity$2.onClick(MainActivity.java:167)
            at android.view.View.performClick(View.java:7750)
            at android.view.View.performClickInternal(View.java:7727)
            at android.view.View.access$3700(View.java:861)
            at android.view.View$PerformClick.run(View.java:29133)
            at android.os.Handler.handleCallback(Handler.java:938)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loopOnce(Looper.java:210)
            at android.os.Looper.loop(Looper.java:299)
            at android.app.ActivityThread.main(ActivityThread.java:8085)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)

    我最终是这么解决的:

    //  implementation 'androidx.work:work-runtime:2.7.1'//java
        implementation 'androidx.work:work-runtime-ktx:2.7.1'//kotlin

    还有使用的地方记得用

    PendingIntent.FLAG_IMMUTABLE
    更多相关内容
  • PendIntent其实是Intent的封装,这就带来了几个问题: 为什么要有PendingIntent?与Intent有什么区别? PendingIntent的应用场景主要有哪些? 它的内部是如何实现的? 1.1 与Intent的区别 Intent是意图的意思...

    1. PendingIntent认识

    PendIntent其实是Intent的封装,这就带来了几个问题:

    • 为什么要有PendingIntent?与Intent有什么区别?
    • PendingIntent的应用场景主要有哪些?
    • 它的内部是如何实现的?

    1.1 与Intent的区别

    • Intent 是意图的意思。Android 中的 Intent 正是取自这个意思,它是一个消息对象,通过它,Android 系统的四大组件能够方便的通信,并且保证解耦。

      Intent 可以说明某种意图,携带一种行为和相应的数据,发送到目标组件。

    • PendingIntent是对Intent的封装,但它不是立刻执行某个行为,而是满足某些条件或触发某些事件后才执行指定的行为

    A组件 创建了一个 PendingIntent 的对象然后传给 B组件,B 在执行这个 PendingIntent 的 send 时候,它里面的 Intent 会被发送出去,而接受到这个 Intent 的 C 组件会认为是 A 发的。
    B以A的权限和身份发送了这个Intent

    我们的 Activity 如果设置了 exported = false,其他应用如果使用 Intent 就访问不到这个 Activity,但是使用 PendingIntent 是可以的。

    即:PendingIntent将某个动作的触发时机交给其他应用;让那个应用代表自己去执行那个动作(权限都给他)

    2.2 获取PendingIntent

    关于PendingIntent的实例获取一般有以下五种方法,分别对应Activity、Broadcast、Service

    • getActivity()
    • getActivities()
    • getBroadcast()
    • getService()
    • getForegroundService()

    它们的参数都相同,都是四个:Context, requestCodeIntentflags,分别对应上下文对象、请求码、请求意图用以指明启动类及数据传递、关键标志位。
    前面三个参数共同标志一个行为的唯一性,而第四个参数flags:

    • FLAG_CANCEL_CURRENT:如果当前系统中已经存在一个相同的PendingIntent对象,那么就将先将已有的PendingIntent取消,然后重新生成一个PendingIntent对象。
    • FLAG_NO_CREATE:如果当前系统中不存在相同的PendingIntent对象,系统将不会创建该PendingIntent对象而是直接返回null,如果之前设置过,这次就能获取到。
    • FLAG_ONE_SHOT:该PendingIntent只作用一次。在该PendingIntent对象通过send()方法触发过后,PendingIntent将自动调用cancel()进行销毁,那么如果你再调用send()方法的话,系统将会返回一个SendIntentException。
    • FLAG_UPDATE_CURRENT:如果系统中有一个和你描述的PendingIntent对等的PendingInent,那么系统将使用该PendingIntent对象,但是会使用新的Intent来更新之前PendingIntent中的Intent对象数据,例如更新Intent中的Extras

    备注:两个PendingIntent对等是指它们的operation一样, 且其它们的Intent的action, data, categories, components和flags都一样。但是它们的Intent的Extra可以不一样

    2.3 使用场景

    关于PendingIntent的使用场景主要用于闹钟、通知、桌面部件。

    大体的原理是: A应用希望让B应用帮忙触发一个行为,这是跨应用的通信,需要 Android 系统作为中间人,这里的中间人就是 ActivityManager。 A应用创建建 PendingIntent,在创建 PendingIntent 的过程中,向 ActivityManager 注册了这个 PendingIntent,所以,即使A应用死了,当它再次苏醒时,只要提供相同的参数,还是可以获取到之前那个 PendingIntent 的。当 A 将 PendingIntent 调用系统 API 比如 AlarmManager.set(),实际是将权限给了B应用,这时候, B应用可以根据参数信息,来从 ActivityManager 获取到 A 设置的 PendingIntent

    展开全文
  • 先上效果无图无真相dongtu.gif方式1:(此方式最为简单,只需要获取包名就可以)// 通过包名跳转的appval intent = packageManager.getLaunchIntentForPackage("com.achievo.vipshop")// 如果intent为空,就没有安装要...

    先上效果无图无真相

    1c92b4bcf6df

    dongtu.gif

    方式1:(此方式最为简单,只需要获取包名就可以)

    // 通过包名跳转的app

    val intent = packageManager.getLaunchIntentForPackage("com.achievo.vipshop")

    // 如果intent为空,就没有安装要跳转的app

    if (intent != null) {

    // 传递参数和Activity和Activity传参数一样

    // intent.putExtra("name", "xxxx")

    // intent.putExtra("age", "19")

    startActivity(intent)

    } else {

    // 没有安装app应用,可以直接跳转到下载页、也可以提醒一下

    Toast.makeText(applicationContext, "赶紧下载安装这个APP吧", Toast.LENGTH_LONG).show()

    }

    方式2: (需要获取跳转app首页的activity)

    import android.content.ComponentName

    import android.content.Intent

    val intent = Intent()

    //第一种方式

    val ComponentN = ComponentName("com.achievo.vipshop", "com.achievo.vipshop.homepage.activity.HomeAdvPopActivity")

    try {

    intent.component = ComponentN

    //第二种方式

    intent.setClassName("com.achievo.vipshop", "com.achievo.vipshop.homepage.activity.HomeAdvPopActivity");

    // intent.putExtra("test", "intent1")

    startActivity(intent)

    } catch (e: Exception) {

    //TODO 这里提示用户没有安装应用或找不到指定Activity,或者做其他操作

    Toast.makeText(this, "未安装", Toast.LENGTH_SHORT).show()

    }

    这两种方式的优缺点

    第一种:只需要包名就可以打开指定app,相对简单方便获取包名也不是啥难事

    第二种:需要在获取包名之后,在获取首页的activity,相对比较麻烦,但是这种方式打开是在当前项目中开辟新线程来加载你所要打开的app,会在打开之后出现两个app,可单独操作,不会同步想要同是在一个app一个账号中操作多个东西可以使用这种方式

    最后说下想要获取其他app的首页activity可以自行百度,如找不到也可以联系我QQ:506907778

    展开全文
  • Android基础之Notification通知 | PendingIntent | 第一行代码学习

    简介

    • 通知是Android系统中比较有特色的功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现
    • 既可以在活动里创建,又可以在广播接收器里创建,还可以在服务里创建
    • 首先需要一个NotificationManager来对通知进行管理,可以调用Context的getSystemService()方法获取到
    • getSystemService()方法接收一个字符串参数用于确定获取系统的哪个服务,我们传入Context.NOTIFICATION_SERVICE即可
    NotificationManager manager = getSystemService(Context.NOTIFICATION_SERVICE);
    • 接下来使用BUilder构造器来创建Notification对象

    setContentTitle():用于指定通知的标题内容,下拉系统状态栏就可以看到这部分内容

    setContentText():用于指定通知的正文内容,同上

    setWhen():用于指定通知被创建的时间,以毫秒为单位,当下拉状态栏时,这里指定的时间会显示在相应的通知上

    setSmallIcon():用于设置通知的小图标,注意只能使用纯alpha图层的图片进行设置,小图标会显示在状态栏上

    setLargeIcon():用于设置通知的大图标,当下拉系统状态栏时,就可以看见

    Notification notification = new NotificationCompat.Builder(context)
    	.setContentTitle("This is content title")
    	.setContentText("This is content text")
    	.setWhen(System.currentTimeMillis())
    	.setSmallIcon(R.drawable.small_icon)
    	.setLargeIcon(BitmapFactory.decodeResource(getResource(),R.drawable.large_icon))
    	.build();
    • 然后调用NotificationManager的notify方法就可以将通知显示出来

    notify()接收两个参数,第一个参数id,要保证每个通知指定的id都不一样,第二个参数Notification对象

    manager.notify(1,notification);

    实例

    • 修改xml
    <Button
    	        android:id="@+id/send_notice"
    	        android:layout_width="261dp"
    	        android:layout_height="56dp"
    	        android:text="@string/send_notice"
    	        android:onClick="sendNotice"
    	        app:layout_constraintBottom_toBottomOf="parent"
    	        app:layout_constraintEnd_toEndOf="parent"
    	        app:layout_constraintStart_toStartOf="parent"
    	        app:layout_constraintTop_toTopOf="parent"
    	        app:layout_constraintVertical_bias="0.342" />
    • 修改MainActivity
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        public void sendNotice(View view) {
    
            NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            Notification notification = null;
    
            //以下两者都可以显示通知
            //但是必须设置channelId
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    
                NotificationChannel notificationChannel = new NotificationChannel("1","my_channel", NotificationManager.IMPORTANCE_LOW);
                manager.createNotificationChannel(notificationChannel);
    
                notification = new Notification.Builder(this)
                    .setContentTitle("This is content title")
                    .setContentText("This is content text")
                    .setWhen(System.currentTimeMillis())
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                    .setChannelId("1")
                    .build();
    
            } else {
                NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                    .setContentTitle("This is content title")
                    .setContentText("This is content text")
                    .setWhen(System.currentTimeMillis())
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                    .setChannelId("1");
    
                notification = notificationBuilder.build();
    
            }
            manager.notify(1,notification);
        }
    
    }

    创建完成之后,会显示通知内容,但是无法点击

    • 新建NotificationActivity,修改其xml
    <TextView
    	        android:layout_width="wrap_content"
    	        android:layout_height="wrap_content"
    	        android:text="@string/this_is_notification_layout"
    	        android:textSize="24sp"
    	        android:gravity="center"
    	        app:layout_constraintBottom_toBottomOf="parent"
    	        app:layout_constraintEnd_toEndOf="parent"
    	        app:layout_constraintStart_toStartOf="parent"
    	        app:layout_constraintTop_toTopOf="parent" />
    • 修改MainActivity
    public void sendNotice(View view) {
    
        //用于实现点击通知跳转
        Intent intent = new Intent(this,NotificationActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0);
    
        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        Notification notification = null;
    
        //以下两者都可以显示通知
        //但是必须设置channelId
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    
            NotificationChannel notificationChannel = new NotificationChannel("1","my_channel", NotificationManager.IMPORTANCE_LOW);
            manager.createNotificationChannel(notificationChannel);
    
            notification = new Notification.Builder(this)
                .setContentTitle("This is content title")
                .setContentText("This is content text")
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.mipmap.ic_launcher)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                .setChannelId("1")
                .setContentIntent(pendingIntent)
                .build();
    
        } else {
            NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setContentTitle("This is content title")
                .setContentText("This is content text")
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.mipmap.ic_launcher)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                //用于设置版本号
                .setChannelId("1")
                //用于点击跳转
                .setContentIntent(pendingIntent);
    
            notification = notificationBuilder.build();
    
        }
        manager.notify(1,notification);
    }
    • 点击后取消状态栏的通知标识的两种方法

    第一种,在NotificationCompat.Builder中连缀一个setAutoCancel方法

    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                        .setContentTitle("This is content title")
                        .setContentText("This is content text")
                        .setWhen(System.currentTimeMillis())
                        .setSmallIcon(R.mipmap.ic_launcher)
                     .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                        //用于设置版本号
                        .setChannelId("1")
                        //用于点击跳转
                        .setContentIntent(pendingIntent)
                        //用于通知点击后自动消失
                        .setAutoCancel(true);

    第二种,(在跳转界面)显示调用NotificationManager的cancel方法取消,参数是通知的id

    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    manager.cancel(1);
    • 源码地址

    DoSomeAndroidTest/NotificationTest at main · qricis/DoSomeAndroidTest · GitHub

    更多功能

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    
        //构建NotificationChannel实例
        NotificationChannel notificationChannel = new NotificationChannel("1","my_channel", NotificationManager.IMPORTANCE_LOW);
    
        //设置通知出现时的闪光灯
        notificationChannel.enableLights(true);
        notificationChannel.setLightColor(Color.GREEN);
    
        //设置通知出现时的震动
        notificationChannel.enableVibration(true);
        notificationChannel.setVibrationPattern(new long[]{0,1000,1000,1000});
    
        notificationChannel.setSound(Uri.fromFile(new File("/system/media/audio/notifications/DearDeer.ogg")),Notification.AUDIO_ATTRIBUTES_DEFAULT);
        //在notificationManager中创建通知渠道
        manager.createNotificationChannel(notificationChannel);
    
        notification = new Notification.Builder(this)
            .setContentTitle("This is content title")
            .setContentText("Learn how to build notifications,send and sync data,and use voice actions.Get the official Android IDE and developer tools to build apps for Android")
            .setWhen(System.currentTimeMillis())
            .setSmallIcon(R.mipmap.ic_launcher)
            .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
            .setChannelId("1")
            .setContentIntent(pendingIntent)
            .setAutoCancel(true)
            .setStyle(new Notification.BigTextStyle().bigText("Learn how to build notifications,send and sync data,and use voice actions.Get the official Android IDE and developer tools to build apps for Android"))
            .setStyle(new Notification.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.head)))
            .setPriority(Notification.PRIORITY_MAX)
            .build();
    
    } else {
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setContentTitle("This is content title")
            .setContentText("This is content text")
            .setWhen(System.currentTimeMillis())
            .setSmallIcon(R.mipmap.ic_launcher)
            .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
            //用于设置版本号
            .setChannelId("1")
            //用于点击跳转
            .setContentIntent(pendingIntent)
            //用于通知点击后自动消失
            .setAutoCancel(true)
            //接收一个Uri参数,在通知发出的时候播放一段音频
            .setSound(Uri.fromFile(new File("/system/media/audio/notifications/DearDeer.ogg")))
            //设置震动(静止时长,振动时长,静止时长,振动时长),但需要申请权限
            .setVibrate(new long[]{0,1000,1000,1000})
            //设置锁屏时闪烁灯(颜色,亮起时长,暗去时长)
            .setLights(Color.GREEN,1000,1000)
            //直接使用默认效果
            .setDefaults(Notification.DEFAULT_ALL)
            //将通知内容显示完整
            .setStyle(new NotificationCompat.BigTextStyle().bigText("Learn how to build notifications,send and sync data,and use voice actions.Get the official Android IDE and developer tools to build apps for Android"))
            //通知里显示一张大图片
            .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher_background)))
            //设置通知的重要程度,5个常量可选(_DEFAULT/_MIN/_LOW/_HIGH/_MAX)
            //默认和不设置效果一样,最低只会在特定场景显示,较低会将这类通知缩小或改变显示顺序,较高将之放大或改变顺序,最高让用户立刻看到,甚至做出响应操作
            .setPriority(NotificationCompat.PRIORITY_MAX)
            ;
        notification = notificationBuilder.build();
    
    }

    PendingIntent

    • 和Intent类似,都可以用于启动活动、启动服务以及发送广播等,不同的是,Intent更倾向于立即去执行某个动作,而PendingIntent更加倾向于在某个合适的时机去执行某个动作
    • 所以可以把PendingIntent理解成延迟执行的Intent
    • 它提供几个静态方法用于获取PendingIntent实例(getActivity()/getBroadcast()/getService())
    • 第一个参数依旧是context,第二个参数一般用不上,传入0,第三个参数是一个Intent对象,可以通过这个对象构建出PendingIntent的"意图",第四个参数用于确定PendingIntent的行为(FLAG_ONE_SHOT/FLAG_NO_CREATE/FLAG_CANCEL_CURRENT/FLAG_UPDATE_CURRENT),通常传入0
    • NotificationCompat.Builder可以连缀一个setContentIntent()方法,接收的参数正好是PendingIntent对象
    展开全文
  • 通知栏点击PendintIntent没有反应

    千次阅读 2014-09-03 14:21:26
    logcat输出日志:
  • 其实不是原创,是问郭神问来的.在此感谢郭霖. 以防自己忘记,也造福大家,每个人都去问郭神的话他也忙不过来,所以就写上来了. activity已经存在,从通知栏点进去不希望这个activity重新创建,只是希望拿到intent带过来...
  • pendingIntent简单理解

    2014-10-22 13:46:09
    转载:... pendingIntent字面意义:等待的,未决定的Intent。 要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int), getBroadcast(Con
  • // triggerAtTime, pendIntent1); } }); mcancelButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AlarmManager alarmMgr = ...
  • Intent和PendingIntent的区别:【掌握,以备面试之需】  Intent是立即使用的,而PendingIntent可以等到事件发生后触发,PendingIntent可以cancel;  PendingIntent自带Context,而Intent需要在某个Context内...
  • PendingIntent介绍 PendingIntent可以看作是对Intent的一个封装,但它不是立刻执行某个行为,而是满足某些条件或触发某些事件后才执行指定的行为。 PendingIntent的获取 PendingIntent获取有三种方式:通过...
  • notification.setLatestEventInfo(context, title, message, pendingIntent); 在target为23时删除了该方法,我们应该使用build模式       低于API Level 11版本,也就是Android 2.3.3以下的系统中,...
  • PendingIntent中的flag

    2016-11-25 19:58:53
    PendingIntent中第四个参数flag: 目前有这几种flag:FLAG_NO_CREATE;FLAG_CANCEL_CURRENT;FLAG_ONE_SHOT;FLAG_UPDATE_CURRENT 最常用的是最后一种FLAG_UPDATE_CURRENT个人理解(通俗易懂): ...
  • Android pendingInten 用法详解

    千次阅读 2016-03-28 10:37:13
    pendingIntent字面意义:等待的,未决定的Intent。 要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int),getService(Context, ...
  • Android Service 与 Activity使用Pending Intent通信 service使用pending intent返回结果给客户端 我们使用一个activity作为一个客户端,来通过startService()的方法启动一个服务,这个服务的功能很简单,就是去...
  • Intent 和 PendingIntent 区别

    万次阅读 2012-12-23 00:17:34
    intent 英文意思是意图,pending 表示即将发生或来临的事情。 PendingIntent 这个类用于处理即将发生的事情,比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的...
  • AlarmManager与PendingIntent

    2018-08-17 17:33:42
    1.AlarmManager的作用与PendingIntent的关系 顾名思义,就是“提醒”,...//记得释放pendIntent: pendingIntent.cancel(); 总结 :AlarmManager:简单的说就是设置定时器的开始时间和循环间隔时间,启动pending。
  • 今天真算是吃尽了苦头,往Android的notifications里增加一条记录的时候,如果只需要一条通知无问题,但如果根据不同情况添加不同的通知,我们知道可通过方法notificationManager.notify(id,notification)的id参数...
  • 初入android的坑,有什么错误 和 问题,大家指出来,多谢了 这段时间由于私人需求,要做个短信多发软件 就想起用AS开发 结果在 sendMultipartTextMessage时遇到了 困顿我好几天的问题,在百度上查找 ...
  • Android PendingIntent

    2016-05-26 20:58:26
    PendIntent可以cancel的,如果A进程调用了cancel,B进程将无法send B进程在发送完成之后,会有接口回调通知发送完成(OnFinished()) PendingIntent的使用可以做为一个方法的参数来使用(要是进程间的调用),或者...
  • Widget中PendingIntent和RemoteViews用法

    千次阅读 2011-12-01 00:17:23
    PendingIntent是指把Intent包装了一层, 并且把PendingIntent放入一个新的进程. 通过触发事件去触发这个PendingIntent. 创建PendingIntent方法.... 1. getActivity(Context context, int requestCode, Intent ...
  • PendingIntent pendIntent=PendingIntent.getActivity(mContext, requestCode, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT); setCompatBuilder(intent, smallIcon, ticker, title, msg); cBuilder.addAction...
  • notification初使用:震动提醒、跳转

    千次阅读 2013-10-10 16:38:58
    PendingIntent pendIntent = PendingIntent.getActivity(context, 0, myIntent, 0); notification.contentIntent = pendIntent; 4.启动 notificationManager.notify(105, notification); 在跳转至...
  • AppWidget要向外部发送数据,可以把数据放在Intent里,再用intent对象生成一个PendingIntent对象,然后用RemoteViews的setOnClickPendingIntent绑定到相应控件上,具体代码如下:RemoteViews updateViews = new ...
  • 出处:... pendingIntent字面意义:等待的,未决定的Intent。 要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Inte
  • 官方文档介绍了使用显式PendIntent或者 隐式Intent进行应用外deepLink 方式跳转到应用内.显然这种方式适用应用外跳转! 2.尝试使用 NavDeepLinkBuilder 构建一个Intent,但是api只提供构建 PendingIntent方式。 可行...
  • 今天碰到一个使用PendingIntent 给Activity传递参数问题,总结下: 在接收端,接收的数据一直为null,在google官方网站查了下,发现问题出在flags上:PendingIntent.getActivity原型如下: ...
  • PendingIntent pendIntent = PendingIntent.getActivity(getApplicationContext(), 0, intentForeground, 0); Notification notification; Notification.Builder builder = new Notification.Builder...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 285
精华内容 114
热门标签
关键字:

pendintent