intent

让Android的WebView支持html里面的文件上传

早过忘川 提交于 2020-01-14 11:39:36
默认情况下,Android的webview是不支持<input type=file>的,点击没有任何反应,如果希望点击上传,弹出选择文件、图片的窗口,那就需要自定义一个WebChromeClient public class MyChromeClient extends WebChromeClient { public ValueCallback<Uri> UploadMsg; public ValueCallback<Uri[]> UploadMsg2; private Activity activity; public static final int FILECHOOSER_RESULTCODE = 5173; public static String mCameraFilePath = ""; @SuppressWarnings("deprecation") public MyChromeClient(Activity cordova) { this.activity = cordova; } @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); } // <input type="file"

简单的定时任务

流过昼夜 提交于 2020-01-14 07:07:31
//定时器服务 public class LongRunningService extends Service { public LongRunningService ( ) { } @Override public IBinder onBind ( Intent intent ) { // TODO: Return the communication channel to the service. // throw new UnsupportedOperationException("Not yet implemented"); return null ; } @Override public int onStartCommand ( Intent intent , int flags , int startId ) { new Thread ( new Runnable ( ) { @Override public void run ( ) { //这里执行具体的逻辑操作 System . out . println ( "简单的输出一句话------无人与我立黄昏,无人问我粥可温------------------" ) ; } } ) . start ( ) ; //获取AlarmManager实例 AlarmManager manager = ( AlarmManager

Android 推送静音

断了今生、忘了曾经 提交于 2020-01-14 03:44:40
自Android8.0开始,推送的设置与过去的版本不一样了。 它的推送静音设置,并没有单独的静音选项来设置,而是通过对通知的重要性(Importance)来间接设置的。 重要性分为4类:Urgent、High、Medium、Low。其中Medium与Low就没有声音了。 而且,可以对推送进行分类,通过NotificationChannel这个来设置了。 这意味着,针对不同的账号权限,比如工作账号、浏览账号,评论通知、私信通知等,可以设置不同的channel(通过对channel的个性化设置,比如是否有声音之类的)。 channel的获取方式,如下: NotificationManager nfm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); // 获取所有的 List<NotificationChannel> channels = nfm.getNotificationChannels(); // 获取指定id的channel nfm.getNotificationChannel("channelId"); 这个是获取到的系统备份的channel,对它进行设置并不会更改到系统中的设置。 想要设置推送方式,还是需要去系统中设置,可以通过代码弹出系统设置页面,如下:

Android基础之Activity基本跳转(2)

我的梦境 提交于 2020-01-13 04:06:35
本文转载自: https://www.cnblogs.com/flyone/archive/2011/07/14/2106001.html 作者:flyone 转载请注明该声明。 我的淘宝店铺, http://shop61982302.taobao.com/ , 欢迎大家光临! 你懂的, 呵呵 ! 简单介绍activity的跳转,通过intent实现,详细的注释在代码中。涉及到activity跳转,intent调用,button事件处理,xml文件编辑等知识。麻雀虽小,五脏俱全!废话少说,开始了...... 先看一下运行效果图: 点击first跳转到第二个activity 点击second会返回到第一个activity,并带回返回信息,如下图: 1 新建project,大家注意我的命名,前面都加前缀了,对于初学者来说,可以在程序运行时明白这些变量的实际命名到那儿去了,运行时大家可以再返回看这些名字! 2 开发时一般先设置界面,打开main.xml文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width=

保存图片到相册

假装没事ソ 提交于 2020-01-12 09:17:58
本文主要介绍保存图片到相册的几种方式。其本质上并没有把图片保存到相册中,实际上是保存在SD卡下自定义的文件夹中,目的只是让 QQ 和 微信 在选择照片的时候立刻显示,注: 其实 QQ 和 微信 也是这样做的 。 方式1-扫描文件通知相册更新 // 通知相册更新 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(file); intent.setData(uri); context.sendBroadcast(intent); 方式1-错误操作 MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), "name", "description"); // 通知相册更新 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(file); intent.setData(uri); context.sendBroadcast(intent); 对比 方式1 和 错误方式 ,我们可以发现其实就是多了一行

Xamarin.Android开发实践(七)

时光总嘲笑我的痴心妄想 提交于 2020-01-12 03:47:10
原文: Xamarin.Android开发实践(七) Xamarin.Android广播接收器与绑定服务 一、前言 学习了前面的活动与服务后,你会发现服务对于活动而言似乎就是透明的,相反活动对于服务也是透明的,所以我们还需要一中机制能够将服务和活动之间架起一座桥梁,通过本节的学习,你将会学到广播与绑定服务,这两种方式恰恰是解决上面问题的关键。 二、简单的广播接收器 实现一个最简单的广播接收器需要继承 BroadcastReceiver 类,并且还要实现 OnReceive 方法,我们可以在项目中新建一个 MainReceiver 类,然后写入如下代码: 1 public class MainReceiver : BroadcastReceiver 2 { 3 public override void OnReceive(Context context, Intent intent) 4 { 5 6 } 7 } 上面其实已经实现了一个简单的广播接收器,并且可以使用。我们还需要注册广播接收器,否则广播接收器就无法接收广播,所以我们需要在MainActivity.cs中注册这个广播接收器。当然为了能够接近现实,我们需要在 OnResume 中注册,在 OnPause 中注销。 首先我们在 OnResume 中注册 1 protected override void OnResume()

Intent显式实现一个界面切换到另一个界面(MainActivity中有个button1)跳转到(SecondActivity对应的button2)

青春壹個敷衍的年華 提交于 2020-01-11 23:42:17
先看看效果:点击button1 跳转视图 将创建好的项目中的 MainActivity类中写上: package com.example.reactest; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { // 向下兼容的Activity 其中AppCompatActivity是Activity的子类 Activity是Android系统提供的一个活动基类 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button_Panel = (Button)findViewById(R.id.buttonPanel)

Android (服务Service)

一笑奈何 提交于 2020-01-11 21:03:28
Android 中有几个重要的组件,其中之一就是Service,这是没有UI的组件,可以做为后台的服务,当然可以使用Intent来启动。同时也可以绑定到宿主对象(调用者,常是Activity)来使用, 注意: 一,Android中的Service与调用者在同一线程,所以要是耗时的操作要在Service中新开线程。 二,Android的Service中,主要是实现其onCreate,onStart, onDestroy,onBind,onUnBind几个函数,来实现我们所需要的功能。 简单的调用: 简单的调可以在调用者对象中使用Context.startService来调用,以Intent为参数,当然,Intent搜索,匹配目标的方式与以前在《Intent使用》中方式一样。 下面来看一段例程: 一,声明Service子类 。 public class TestService extends Service { @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); Toast.makeText(this, "Service Created!", Toast.LENGTH_SHORT).show(); } @Override public void onDestroy

Android 开机自动启动服务

房东的猫 提交于 2020-01-11 20:49:55
在前面的文章中提到了remote service 的创建过程,现在我们要让它开机自动启动 1.在前面代码的基础上添加 RemoteServiceBootReceiver.java ,实现一个intent的receiver [java] view plain copy print ? package com.fly; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class RemoteServiceBootReceiver extends BroadcastReceiver { private static final String TAG = "U0fly RemoteServiceBootReceiver"; static final String ACTION = "android.intent.action.BOOT_COMPLETED"; @Override public void onReceive(Context arg0, Intent arg1) { Log.d(TAG, "Boot completed"); // TODO Auto

Android深入四大组件(四)Android8.0 根Activity启动过程(前篇)

╄→尐↘猪︶ㄣ 提交于 2020-01-11 03:44:55
前言 在几个月前我写了 Android深入四大组件(一)应用程序启动过程(前篇) 和 Android深入四大组件(一)应用程序启动过程(后篇) 这两篇文章,它们都是基于Android 7.0,当我开始阅读Android 8.0源码时发现应用程序(根Activity)启动过程照Android 7.0有了一些变化,因此又写下了本篇文章,本篇文章照此前的文章不仅流程发生变化,而且增加了一些分析,算是升级版本。由于篇幅较长,Android8.0 根Activity启动过程仍旧分为前篇和后篇来进行讲解。 1.概述 Activity的启动过程分为两种,一种是根Activity的启动过程,另一种是普通Activity的启动过程,根Activity指的是应用程序启动的第一个Activity,因此根Activity的启动过程一般情况下也可以理解为应用程序的启动过程。普通Activity指的是除了应用程序启动的第一个Activity之外的其他的Activity。这里介绍的是根Activity的启动过程,它和普通Activity的启动过程是有重叠部分的,只不过根Activity的启动过程一般情况下指的就是应用程序的启动过程,更具有指导性意义。想要了解普通Activity的启动过程的的同学可以参考根Activity的启动过程去自行阅读源码。 根Activity的启动过程比较复杂,因此这里分为三个部分来讲