概述
由于4.4以上系统第三方应用对短信无法操作,目前网上采用的做法都是将第三方应用设置为默认应用,但有时会经常无法弹出选择是否设置为默认应用的系统弹框,根据网上查找的一些原因是因为设置的权限以及满足短信应用的service,broadCastRecover.Activity没有写全,这些类不一定会用,但一定需要有
弹出设置默认框的代码:
final String myPackageName = getPackageName();
if
(!Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName))
{
Intent intent =
new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,
myPackageName);
startActivity(intent);
Log.d("liueg", "11111111111");
}
创建一个Activity ,在Manifest.xml中设置
<activity
android:name=".SmsActivity"
android:label="@string/title_activity_sms" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
</activity>
创建一个service
<service
android:name="com.liueg.demo.SmsService"
android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE"
android:exported="true">
<intent-filter >
<action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
</service>
创建两个广播
<receiver
android:name="com.liueg.demo.SmsBroadCastRecover"
android:permission="android.permission.BROADCAST_WAP_PUSH">
<intent-filter >
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER"/>
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>
<receiver
android:name="com.liueg.demo.SmsRecover"
android:permission="android.permission.BROADCAST_SMS">
<intent-filter >
<action android:name="android.provider.Telephony.SMS_DELIVER" />
</intent-filter>
</receiver>
满足这些,就可以弹出设置默认短信弹出框
最后
以上就是清爽电灯胆为你收集整理的Android4.4以上系统选择将第三方短信应用设置为默认短信应用方法的全部内容,希望文章能够帮你解决Android4.4以上系统选择将第三方短信应用设置为默认短信应用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复