我试图在Android中创建一个应用程序,仅由1个广播接收器(而不是其他)组成。
广播接收器应该简单地捕捉广播(例如收到的短信,记录信息并完成)。然而,我注意到广播没有被接收器捕捉到,除非我指出我有主活动,如下Androidanifest.xml将显示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver android:name="com.myapp.MyBroadcastReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<activity
android:name="com.myapp.MainActivity"
android:label="@string/activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我甚至不需要在应用程序中有一个活动类。此外,如果我在意图过滤器中删除android.intent.category.LAUNCHER或android.intent.action.MAIN,它也不会工作。在我的手机和运行Android4.2的模拟器上的行为是一样的
我的Broadcastreceiver类如下所示:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,intent.getAction(),Toast.LENGTH_SHORT).show();
}
}
它不可能有一个只有广播接收器的应用程序吗?
你不应该做一个服务而不是一个应用程序吗?(我从来没有创建过服务,但我认为它应该更适合你的情况)
从Android 3.1(API 12)开始,应用程序不能接收广播,直到用户手动打开应用程序的UI组件(活动)至少一次。即使用户强制停止应用程序,也会应用相同的方法。
参考:http://developer.android.com/about/versions/android-3.1.html#launchcontrols
我正在尝试设置一个类来接收短信和发送状态。以下是我的清单如何查找此任务: 我收到了收到的消息,但没有收到发送的消息,我的清单声明有问题吗?
问题内容: 有人可以解释和之间的确切区别吗? 在什么情况下我们必须使用每个Receiver类? 问题答案: 和之间只有一个区别。 当您收到内部广播方法时, 假设, BroadcastReceiver : 它 不保证 该 CPU将保持清醒 ,如果你启动一些长时间运行的进程。CPU可能会立即回到睡眠状态。 WakefulBroadcastReceiver : 这是 保证 该 CPU将保持清醒 ,直到你
我有一个java应用程序,它在运行时会产生另一个JVM。然而,我想使用jpack打包我的应用程序,它运行得很好。但是在运行时,当我的应用程序尝试使用调用下一个JVM时 我必须知道,应用程序是使用定制的JVM启动的,并且没有像“java”这样的命令。所以我得到的错误是这个java。无法执行getAbsolutePath()。 如果没有java可执行文件,我的应用程序如何在单独的进程中运行另一个jar
我正在遵循一个关于创建Android应用程序的教程,Eclipse生成了许多我现在不需要的代码。例如,它从ActionBarActivity扩展了MainActivity类,我只需要一个活动派生类。 代码如下:
你好,我会开发一个简单的应用程序没有主活动作为启动程序。 弗朗切斯科
我有一个应用程序类的扩展,我需要在我创建的BroadcastReceiver中获取引用。传递到“onReceive”的上下文是受限上下文。有没有办法获得对实际应用程序上下文的引用?