日报2015/11/23(第一行代码读书笔记)
来源:互联网 发布:java 正态分布随机数 编辑:程序博客网 时间:2024/06/05 21:10
使用通知
发送通知需要NotificationManager
和 Notification
,
但是书上写的构建Notification
方法,Android3.0以上已经废弃,因此采用新的安全的方法:
findViewById(R.id.btnNotificate).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //设置点击通知后的去处 Intent intent = new Intent("com.jackie.meidatest.intent.notificationApp"); PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); //创建通知对象并设置参数 NotificationCompat.Builder ncb = new NotificationCompat.Builder(MainActivity.this); ncb.setContentTitle("来自app");//设置通知标题 ncb.setContentText("这是app的通知");//设置通知内容 ncb.setContentIntent(pendingIntent);//设置通知跳转的pendingIntent ncb.setTicker("您有一条新的app通知");//设置顶端通知小标题 ncb.setAutoCancel(true); ncb.setSmallIcon(R.drawable.app_world);//设置通知图标 ncb.setDefaults(Notification.DEFAULT_ALL);//全部设置为默认 //得到NotificationManager对象 NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); //发出id为1的通知 notificationManager.notify(1, ncb.build()); } });
其中PendingIntent是用于点击通知后跳转的。
调用摄像头拍照和裁剪功能
package com.jackie.cameratest;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Environment;import android.provider.MediaStore;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;public class MainActivity extends AppCompatActivity { public static final int TAKE_PHOTO = 1; public static final int CROP_PHOTO = 2; private Button btnTP; private ImageView ivPhoto; private Uri imageUri; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnTP = (Button) findViewById(R.id.btnTP); ivPhoto = (ImageView) findViewById(R.id.ivPhoto); btnTP.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //创建图片的暂时存储文件 File photo = new File(Environment.getExternalStorageDirectory(), "tempImage.jpg"); if (photo.exists()) { //如果已经有图片文件则删除 photo.delete(); } try { //记得要有这句文件才算创建成功 photo.createNewFile(); } catch (IOException e) { e.printStackTrace(); } //调用系统摄像头拍照 imageUri = Uri.fromFile(photo);//将File对象转换为Uri Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");//调用系统拍照功能 intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);//指定拍摄后图片的输出地址 startActivityForResult(intent, TAKE_PHOTO);//requestCode为TAKE_PHOTO } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case TAKE_PHOTO: if (resultCode == RESULT_OK) { Intent intent = new Intent("com.android.camera.action.CROP");//调用裁剪图片功能 intent.setDataAndType(imageUri, "image/*");//指定裁剪所需的图片来源 intent.putExtra("scale", true);//裁剪的时候保留原比例 intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);//指定裁剪后图片的输出地址 startActivityForResult(intent, CROP_PHOTO); } break; case CROP_PHOTO: if (resultCode == RESULT_OK) { try { //将jpg图片解析成Bitmap Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri)); //给ImageView设置Bitmap ivPhoto.setImageBitmap(bitmap); } catch (FileNotFoundException e) { e.printStackTrace(); } } break; default: break; } }}
0 0
- 日报2015/11/23(第一行代码读书笔记)
- 日报2015/11/11(第一行代码读书笔记)
- 日报2015/11/12(第一行代码读书笔记)
- 日报2015/11/10(第一行代码读书笔记)
- 日报2015/11/17(第一行代码读书笔记)
- 日报2015/11/24(第一行代码读书笔记)
- 日报2015/11/26(第一行代码读书笔记)
- 日报2015/10/19(第一行代码读书笔记)
- 《第一行代码》读书笔记
- 第一行代码读书笔记
- 《第一行代码》读书笔记
- 《第一行代码Android》读书笔记
- 第一行代码 读书笔记 2
- Android第一行代码读书笔记
- 第一行代码读书笔记1
- 第一行代码读书笔记2
- 《第一行代码Android》---读书笔记
- 第一行代码 读书笔记 第1章
- Ctrip DAL Database Sharding Support
- 我要开始一个小项目
- AIDL简单使用
- 项目开发之分析业务实体
- Java并发编程:线程池的使用
- 日报2015/11/23(第一行代码读书笔记)
- ROM、SDRAM、RAM、DRAM、SRAM、FLASH的区别
- ThreadLocal源码解析
- [014]Java设计模式1——观察者模式
- cocos2dx v3.x box2d DrawDebugData 后置问题
- c++栈之带括号的四则运算
- MYSQL分页limit速度太慢优化方法
- 《深入解析Spring架构与设计原理》阅读笔记(一)----IOC容器的设计与实现
- Linux IPC进程间通信_消息传递_内核源码分析