Notification,PendingIntent和Intent区别,Phone联系人数据表,存放地址

通知管理器 NotificationManager:

通知用户的事件发生。

Notification.Builder:

构建器类通知对象。提供了一种方便的方法来设置一个通知的各领域和生成内容视图使用平台的通知布局模板。如果您的应用程序支持版本的Android API级别4大,你可以用NotificationCompat。Builder,可以在Android支持库。

BitmapFactory:创建位图对象从不同的来源,包括文件、流,和字节数组。


System.currentTimeMillis():返回以毫秒为单位的当前时间从1月1日,1970 00:00:00.0 UTC。

            // 获取系统时间
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
            Date curDate = new Date(System.currentTimeMillis());//获取当前时间
            String str = formatter.format(curDate);

短息通知代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /*
    *     需要开的权限
    *     <uses-permission android:name="android.permission.READ_SMS" />    写信息
    *     <uses-permission android:name="android.permission.WRITE_SMS" />   读信息
    *     <uses-permission android:name="android.permission.VIBRATE" />     震动
    * */
    public void show(View view) {
        new Thread() {

            SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
            Date curDate = new Date(System.currentTimeMillis());//获取当前时间
            String str = formatter.format(curDate);

            @Override
            public void run() {
                super.run();
                // 定时发送
                SystemClock.sleep(5000);

                // 短信内容设置
                Uri uri = Uri.parse("content://sms");// 全部信息
                ContentResolver resolver = getContentResolver();
                ContentValues values = new ContentValues();
                values.put("address", "10655020395599");// 显示的电话
                values.put("date", System.currentTimeMillis());// 显示当前时间
                values.put("type", 1);// 类型
                values.put("body", "您账户8888在"+ str +"网银转入金额5201314.00元,余额775201314.18[银河系银行]");// 内容
                resolver.insert(uri, values);// 添加

                // 通知内容设置
                NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                Notification.Builder builder = new Notification.Builder(MainActivity.this);
                builder.setSmallIcon(R.mipmap.ic_launcher);// 图标
                builder.setContentTitle("短信通知");// 标题
                builder.setContentText("您账户8888在"+ str +"网银转入金额5201314.00元,余额775201314.18[银河系银行]");// 内容
                builder.setWhen(System.currentTimeMillis());// 发送时间
                builder.setDefaults(Notification.DEFAULT_ALL);// 设置震动默认提示
                builder.setAutoCancel(true);// 打开程序后图标消失

                // 通知跳转到信息页面设置
                Intent intent = new Intent();
                // 初始化隐式意图
                intent.setAction("android.intent.action.MAIN");
                intent.addCategory("android.intent.category.DEFAULT");
                intent.setType("vnd.android.cursor.dir/mms");
                PendingIntent pending = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);// 进行包装,不马上执行意图
                builder.setContentIntent(pending);// 发送时点击通知。
                Notification tion = builder.build();// 返回一个新通知
                manager.notify(0, tion);// 通知管理器发送通知

            }
        }.start();
    }
}

Phone联系人数据表,存放地址

data/data/com.android.providers.contacts/databases/contacts2.db

查询步骤

这里写图片描述


以下是某些博主理解内容,推荐

PendingIntent和Intent区别

intent意思是意图,pending表示即将发生或来临的事情。
PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。

Intent 是及时启动,intent 随所在的activity 消失而消失。
PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,而是在外部执行 pendingintent时,调用intent的。

Intent一般是用作Activity、Sercvice、BroadcastReceiver之间传递数据,而Pendingintent,一般用在 Notification上,可以理解为延迟执行的intent,PendingIntent是对Intent一个包装。


这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pluto_Min8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值