intent

指定播放一个文件,怎么让自己apk响应这个intent

匿名 (未验证) 提交于 2019-12-03 00:26:01
/** * 播放指定名称的歌曲 * @param audioPath 指定默认播放的音乐 */ public static void playAudio(String audioPath){ Intent mIntent = new Intent(); mIntent.setAction(android.content.Intent.ACTION_VIEW); Uri uri = Uri.parse("file:///sdcard/a.mp3");替换成audiopath mIntent.setDataAndType(uri , "audio/mp3"); IntentUtil.startIntent(mIntent); } 你的Activity在manifest里面要加入 <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="audio/*"/> </intent-filter> 你的Activity拿他传过来的URi Uri uri = getIntent().getData(); String path = uri.getPath(

Android广播接收者使用总结

匿名 (未验证) 提交于 2019-12-03 00:26:01
Ŀ¼ Ŀ¼ 但是只有广播接收者可以使用java代码的方法来动态注册 。 BroadcastReceiver是用于接收广播的组件用于组件与组件之间进行通信,可以跨应用程序传递. 如操作系统电池电量低会发送一个广播,这样我们的程序里面可以去监听这个广播,可以关 闭程序里面比较耗电的功能,提示用户注意保存进度什么的,还如其它安装新应用等,还有普通应 用程序,例如启动特定线程,文件下载完毕等。 广播的发送的一般应用场合:发送频率低的情况可以使用,数据量小的情况可以使用。 在onReceive方法内,我们可以获取随广播而来的Intent中的数据,这非常重要,就像无线电一样,包含很多有用的信息。 在创建完我们的BroadcastReceiver之后,还不能够使它进入工作状态,我们需要为它注册一个指定的 广播地址 。没有注册广播地址的BroadcastReceiver就像一个缺少选台按钮的收音机,虽然功能俱备,但也无法收到电台的信号。所以创建类后就要对BroadcastReceiver进行注册。 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive (Context context, Intent intent) { //对接收到的广播进行处理

Notification与前台service

匿名 (未验证) 提交于 2019-12-03 00:22:01
private void showNotification() { Intent intent = new Intent( this , MainActivity. class ); NotificationCompat.Builder mBuilder= new NotificationCompat.Builder( this ); mBuilder.setSmallIcon(R.drawable. air ) .setContentTitle( "content title" ) .setContentText( "content text" ) .setContentInfo( "content info" ) .setContentIntent(PendingIntent. getActivity ( this , 0 ,intent,PendingIntent. FLAG_UPDATE_CURRENT )); mBuilder.setDefaults(Notification. DEFAULT_ALL ); // Notification notification = mBuilder.build(); //4.1 .build(); notification. flags |= Notification. FLAG_AUTO_CANCEL ; // cancel

电量优化wakelock

匿名 (未验证) 提交于 2019-12-03 00:22:01
WakeLock锁 wake_lock锁主要是相对系统的休眠而言的,意思就是我的程序给CPU加了这个锁那系统就不会休眠了,这样做的目的是为了全力配合我们程序的运行。有的情况如果不这么做就会出现一些问题,比如微信等及时通讯的心跳包会在熄屏不久后停止网络访问等问题。所以微信里面是有大量使用到了wake_lock锁。。 wake_loc:两种锁,一种计数锁;非计数锁(锁了很多次,只需要release一次就可以解除了)。源码:count++ 。。 电量优化使用时出现的错误: 1.json: unsupported value: NaN 有人用了描述: the problem started when reset the battery stats and enabled full-wake-history 解决:重启手机再试就好了。 2.打开生成的HTML显示错误如下:WARNING: Visualizer disabled. If you see this message, download the HTML then open it.解决:需要翻墙访问谷歌服务。 3.进部署好的动脑服务器docker,显示错误如下:{"UploadResponse":[{"sdkVersion":23," historianV2Cs...https://github.com/google/battery

Android:Intent的理解和使用

匿名 (未验证) 提交于 2019-12-03 00:22:01
一.Intent介绍: Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动 作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的 交互。因此,可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息。 二.使用 activity的跳转 Intent intent = new Intent(); //setClass函数的第一个参数是一个Context对象 //Context是一个类,Activity是Context类的子类,也就是说,所有的Activity对象,都可以向上转型为Context对象 //setClass函数的第二个参数是一个Class对象,在当前场景下,应该传入需要被启动的Activity类的class对象 intent.setClass(MainActivity. this , SecondActivity. class ); startActivity(intent); 简单的写法 Intent intent = new Intent(MainActivity

Android回顾/Intent的使用

匿名 (未验证) 提交于 2019-12-03 00:22:01
Intent 是Android程序中各个组件之间进行交互的重要方式之一,它既可以在当前Activity中指定想要完成的动作,还可以在不同组件间进行数据传递。Intent可分为两种,显示Intent和隐式Intent。 1.显示Intent Intent有多个构造函数,其中一个Intent的构造方法Intent(Context pageContext,Class setContentView(R.layout.activity_first); button.setOnClickListener( new View.OnClickListener() { @Override public void onClick (View v) { Intent intent= new Intent(FirstActivity. this ,SecondActivity.class); startActivity(intent); } }); } } 首先构造了一个Intent(显示Intent),传入FirstActivity.this作为上下文,SecondActivity.class作为目标活动,这样我们就明确了我们的意图,即在FirstActivity这个活动中通过点击mybutton按钮打开SecondActivity这个活动。然后通过Activity类的startActivity(

Android项目之电话黑名单

匿名 (未验证) 提交于 2019-12-03 00:19:01
本文分享了一个电话黑名单的小项目,下面是具体的实现: 1.添加黑名单。 2.判断如果是黑名单,就对其拦截。 添加黑名单: 往数据库里面添加黑名单,手机号码,用的是ContentProvider进行添加的(当然,这里是完全没有必要用这个的) 第一步: 新建一个MyContentProvider继承自ContentProvider,并重写其中的方法: package com . wind . safecall . contentprovider ; import android . content . ContentProvider ; import android . content . ContentUris ; import android . content . ContentValues ; import android . content . Context ; import android . content . UriMatcher ; import android . database . Cursor ; import android . database . sqlite . SQLiteDatabase ; import android . database . sqlite . SQLiteOpenHelper ; import android . net .

Unity 应用的消息推送――极光推送

匿名 (未验证) 提交于 2019-12-03 00:18:01
https://blog.csdn.net/qq_37310110/article/details/80423463 以下资料来源网络,如有侵权请告知 IOS本地推送 : Unity内部封装了在iOS下的本地推送功能,可以很方便的实现在iOS设备上的简单本地推送。 命名空间为:UnityEngine.iOS 在Unity中的代码和直接用swift的代码基本类似。具体代码实现: static void NotificationMessage(string message, System.DateTime newDate, bool isRepeatDay) { //推送时间需要大于当前时间 if (newDate > System.DateTime.Now) { UnityEngine.iOS.LocalNotificationlocalNotification = new UnityEngine.iO S.LocalNotification(); localNotification.fireDate = newDate; localNotification.alertBody = message; localNotification.applicationIconBadgeNumber = 1; localNotification.hasAction = true; if

Android Scheme

匿名 (未验证) 提交于 2019-12-03 00:18:01
注意: 一定要配置action否则无法跳转 一定要单独使用intent-filter,否则无效并且在入口文件中写入后导致app图标无法在桌面显示。 <intent-filter> <action android :name= "android.intent.action.VIEW" /> <category android :name= "android.intent.category.DEFAULT" /> <category android :name= "android.intent.category.BROWSABLE" /> <data android :scheme= "app" android :host= "test" /> </intent-filter> 判断scheme是否存在,在进行跳转 PackageManager packageManager = getPackageManager() ; Intent intent = new Intent(Intent. ACTION_VIEW , Uri. parse ( "app://test" )) ; List<ResolveInfo> activities = packageManager.queryIntentActivities(intent , 0 ) ; boolean isValid =

(一)APP 启动原理

匿名 (未验证) 提交于 2019-12-03 00:18:01
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。 有的 App 在启动时会出现一段时间的黑屏或者白屏。这就是俗称的启动黑白屏的问题。这期间弄得用户不知道该干嘛,体验不好。 在最早的时候,App 点击需要一会时间来响应,然后启动。但是在这 App 未完全启动的时候,用户不能明确 App 是否已经启动,为了解决这个用户体验的问题,特意加上了启动黑白屏来表示 App 已经启动。 但是就黑白配的显示,给用户的体验仍然不是很好,所以目前较多的 App 是把它改成了广告来显示。 当 App 的 theme 没有任何继承,这时候 App 的启动时候为黑屏屏。 < style name = "AppTheme" > </ style > 当 App 的 theme 继承于 Theme.AppCompat.Light ,这时候 App 的启动时候为白屏。 < style name = "AppTheme" parent = "Theme.AppCompat.Light" > </ style > 我们查看 Theme.AppCompat.Light 所在的 value.xml。 路径: < style name = "Theme.AppCompat.Light" parent = "Base.Theme.AppCompat