如何使用Titanium和Hyperloop使用本机android SMS广播接收器?

时间:2018-08-01 17:47:25

标签: titanium titanium-mobile appcelerator-titanium titanium-android appcelerator-hyperloop

我是Titanium Hyperloop的新手。我正在尝试在我的应用程序中实现短信广播功能。但是应用程序崩溃,出现错误。 SmsBroadcastReceiver:java.lang.ClassNotFoundException。。当收到新消息时。

。我的tiapp.xml看起来像这样。

<receiver android:name=".SmsBroadcastReceiver" android:exported="true" >
        <intent-filter android:priority="999" >
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
</receiver>

。 app.js。

var Activity = require('android.app.Activity'),
activity = new Activity(Ti.Android.currentActivity),
BroadcastReceiver = require('android.content.BroadcastReceiver'),
Context = require('android.content.Context'),
Intent = require('android.content.Intent'),
SmsMessage = require('android.telephony.SmsMessage'),
View = require('android.view.View');

var SmsBroadcastReceiver  =  BroadcastReceiver.extend({

onReceive:function(v, event){
    Ti.API.info(event.getExtras());
    var intentExtras =event.getExtras();
    var sms=intentExtras.get('pdus');


    for (var i = 0; i < sms.length; ++i) {          
        var smsmsg = SmsMessage.createFromPdu(sms[i]);
        Ti.API.info(smsmsg.getMessageBody());
    }
}
});       
var sms = new SmsBroadcastReceiver(activity);

我仔细检查了所有内容。我发现在构建应用程序时,appc使用SmsBroadcastReceiver_proxy作为类名。我也尝试在tiapp.xml中使用该类名称,但最终出现相同的错误。

帮我解决这个问题。

0 个答案:

没有答案