所以我在这里关注这个Tutorial默认设置我的短信,但由于某种原因,我的代码无效.我试图尽可能多地查看,但所有内容都指向同一个教程或已经过时.我也需要接收器吗?谁能解释我做错了什么?

代码:

@Override

protected void onResume()

{

super.onResume();

Log.i("MainAcitvity", "On Resume Called");

// Only do these checks/changes on KitKat+, the "mSetDefaultSmsLayout" has its visibility

// set to "gone" in the xml layout so it won't show at all on earlier Android versions.

final String myPackageName = getPackageName();

if (Utility.hasKitKat())

{

if (Utility.isDefaultSmsApp(this))

{

// This app is the default, remove the "make this app the default" layout and

// enable message sending components.

mSetDefaultSmsLayout.setVisibility(View.GONE);

}

else

{

Log.i("MainActivity", "Not Default App");

// Not the default, show the "make this app the default" layout and disable

// message sending components.

mSetDefaultSmsLayout.setVisibility(View.VISIBLE);

Button button = (Button) findViewById(R.id.set_default_sms_button);

button.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View view)

{

Log.i("MainActivity", "Button Pushed");

//Utility.setDefaultSmsApp(MainActivity.this);

Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);

intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, myPackageName);

startActivity(intent);

}

});

}

}

}

清单:

android:name=".MainActivity"

android:label="@string/app_name" >

解决方法:

为了使您的应用程序有资格被选为默认消息传递应用程序(就系统而言),您必须列出清单中显示的所有组件,如该博文中所示,这些组件的类是否实际存在或不.

...

android:permission="android.permission.BROADCAST_SMS">

android:permission="android.permission.BROADCAST_WAP_PUSH">

android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE"

android:exported="true" >

由于系统仅检查应用程序的清单以确定它是否可以充当默认消息传递应用程序,因此并非所有这些组件的类都必须存在才能使您的应用程序显示在默认选择列表中.这对于学习和测试很有用,但是,显然,如果您的应用程序要充当用户的默认消息传递客户端,它应该完全实现所有指定的组件.

如果您打算执行任何与SMS / MMS相关的任务,您还需要相关权限.虽然系统在确定符合条件的默认应用程序候选者时显然不会检查这些,但以下权限对于其相应的操作是必需的:

如果在尝试执行给定操作时缺少SEND_SMS,READ_SMS或WRITE_SMS权限,则将抛出SecurityException.但是,如果您错过了RECEIVE_ *权限,那么您的应用程序将无法提供相关的广播,并且在测试这些功能时似乎没有任何事情发生.

标签:telephony,android,sms,default

来源: https://codeday.me/bug/20190915/1806035.html

android设置为默认短信应用,android默认制作默认短信应用程序相关推荐

  1. android 设置文本加粗,如何在Android中将文本更改为粗体?

    如何在Android中将文本更改为粗体? 如何更改Android TextView中的文本/字体设置? 例如,如何使文本变粗? 15个解决方案 482 votes 要在Typeface文件中执行此操作 ...

  2. android 设置铃声文件夹在哪里,Android 设置铃声的文件夹

    Android 设置铃声的文件夹 1 系统自带声音文件存放的位置和内容. 1.1 总目录:/system/media/audio 1.2 闹钟:/system/media/audio/alarms 1 ...

  3. android设置导航栏半透明,如何实现Android透明导航栏(Translucent Navigation Bar)?...

    碰到一个问题,请看截图. 下面两张是Fuubo微博客户端的截图,底部导航栏都是透明的. 第一张截图中,侧边栏出来后,被底部导航栏遮住的地方是可见的. 第二张截图中,被导航栏遮住的文字内容,也是可见的. ...

  4. android 设置对话框的高度,如何控制Android中默认警报对话框的宽度和高度?

    如何控制Android中默认警报对话框的宽度和高度?AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTi ...

  5. android设置主题的方法,Android_修改Android App样式风格的方法,android中可以自定义主题和风格 - phpStudy...

    修改Android App样式风格的方法 android中可以自定义主题和风格.风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等.可以在res/value ...

  6. android设置布局高度自适应,4种Android屏幕自适应解决方案

    Android支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源.本文就介绍了4中Android屏幕自适应解决方案. 一.细说layout_weight 目前最为推荐的Andr ...

  7. android设置点击间隔,巧用android:divider属性设置LinearLayout中元素之间的间隔

    如上图,要想实现3个button线性排列并且使它们的大小相同.间隔相等.而且整体填充满整个linearlayout,我们一般的做法是在每两个button之间放一个固定宽度的view,然后设置butto ...

  8. android 设置壁纸会卡顿,解决Android Studio的卡顿问题

    背景: 最近有在做一个android项目的时候, 用的是最新的android studio 4.1 每当编辑layout布局的时候,就出现各种卡顿,以前到没有碰到类似的情况. 猜想: 1.是不是电脑用 ...

  9. android设置文字水平和垂直居中显示,Android TextPaint 写文字 水平、垂直居中

    在宽width高height的画布上画一字符串,使字符串水平竖直居中: 1.水平居中的方法: 第一步:水平居中很简单,paint.setTextAlign(Align.CENTER); 第二步:dra ...

  10. android设置通知在屏幕横幅显示,Android推送通知横幅未显示在某些设备中

    我试图用NotificationCompat推送通知: NotificationCompat.Builder b = new NotificationCompat.Builder(this); b.s ...

最新文章

  1. 锐界机器人_看着就很酸爽,2.7T V6双涡轮,车则试驾新福特锐界ST
  2. 求两条轨迹间的hausdorff距离_带电粒子在平行板电容器极板间的运动知识点
  3. 作业收缴系统使用手册(自写开源小系统)
  4. 愿将一生献宏谋——送别于敏侧记
  5. [机器学习]理解熵,交叉熵和交叉熵的应用
  6. C# Winform 窗体美化(五、鼠标穿透)
  7. linux右键菜单的截图,Linux: 给右键菜单加一个“转换图片为jpg格式”
  8. 全面战争:战锤II-概念艺术设计
  9. windows 远程 登录无操作30分钟后自动退出登录_Mac电脑如何远程Windows10
  10. 如何用WebIDE打开并运行CRM Fiori应用 1
  11. python matplotlib 绘图操作
  12. ADS仿真5_LNA设计
  13. Android汉字按拼音首字母查询
  14. c++语言计算2的n次方,2的N次方
  15. 基于NW实现的前端桌面应用
  16. 服务器异常的处理方式
  17. 51单片机电子琴编码 — 《断桥残雪》《庐州月》
  18. 惠普打印机介质不匹配_惠普打印机的常见故障
  19. 推荐使用:易企在线客服升级版
  20. JavaScript高阶

热门文章

  1. 应对笔试手写代码,如何准备深度优先算法 广度优先算法?
  2. web项目访问引用jar内部的静态资源
  3. RCNN学习笔记——第三篇: 实现FRCNN网络训练、评价与预测(附全部源码)
  4. 搜索引擎都有哪些关键词匹配方式
  5. Linux查sudo版本,Linu下如何升级当前sudo版本
  6. 2017.12.29会议记录
  7. 十年IDF老兵:乍见之欢,久处不厌
  8. 简单介绍LC振荡电路的工作原理及特点
  9. 计算机 小学数学应用题教学设计,小学数学优秀教学设计让信息技术走进数学课堂...
  10. 踏遍青山情未老 —— 九山顶重游记(二)