我想知道什么是以编程方式注册广播接收机的最佳做法/方式。 我想根据用户select注册特定的接收器。 由于注册是通过清单文件完成的,我想知道是否有一个正确的方法来实现这个代码。
我试过在这个链接中使用示例代码,但似乎过时了,并没有工作。 那么,我必须做什么改变,以及什么文件让我的应用程序自动启动时,Android完成启动?
我已经想出了如何发送和接收短信。 为了发送SMS消息,我必须调用SmsManager类的sendTextMessage()和sendMultipartTextMessage()方法。 要接收SMS消息,我必须在AndroidMainfest.xml文件中注册一个接收器。 然后我不得不重写BroadcastReceiver的onReceive()方法。 我已经包含了下面的例子。 MainActivity.java public class MainActivity extends Activity { private static String SENT = "SMS_SENT"; private static String DELIVERED = "SMS_DELIVERED"; private static int MAX_SMS_MESSAGE_LENGTH = 160; // —sends an SMS message to another device— public static void sendSMS(String phoneNumber, String message) { PendingIntent piSent = PendingIntent.getBroadcast(mContext, 0, new Intent(SENT), 0); PendingIntent […]
我一直试图启动一个服务,当一个设备启动在Android上,但我不能得到它的工作。 我已经在线查看了一些链接,但没有任何代码可以工作。 我忘了什么吗? AndroidManifest.xml中 <receiver android:name=".StartServiceAtBootReceiver" android:enabled="true" android:exported="false" android:label="StartServiceAtBootReceiver" > <intent-filter> <action android:name="android.intent.action._BOOT_COMPLETED" /> </intent-filter> </receiver> <service android:name="com.test.RunService" android:enabled="true" /> 广播接收器 public void onReceive(Context context, Intent intent) { if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) { Intent serviceLauncher = new Intent(context, RunService.class); context.startService(serviceLauncher); Log.v("TEST", "Service loaded at start"); } } 谢谢
如何使用/定位LocalBroadcastManager在谷歌文档和服务广播文档中所述 ? 我试图谷歌,但没有可用的代码开始? 文件说,如果我想在我的应用程序的进程内部进行广播,我应该使用它,但我不知道在哪里寻找这个。 任何帮助/评论? 更新 :我知道如何使用广播,但不知道如何让LocalBroadcastManager在我的项目中可用。
我一直试图让这个程序工作,但迄今没有运气。 我无法找到我在做错的地方。 我不确定代码是否有问题,或调试。 如果有新的短信到达,我正在通知您。 这是我的程序: package Technicaljar.SMSBroadcastReceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsMessage; import android.util.Log; public class SMSBroadcastReceiver extends BroadcastReceiver { private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; private static final String TAG = "SMSBroadcastReceiver"; @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, "Intent recieved: " + intent.getAction()); if (intent.getAction() […]