java 安卓。意图行动在Jellybean上完成引导
我正在努力让我的意图在启动时启动,基本上,服务没有出现在我正在运行或缓存的进程中。我知道,从3.1开始,您必须有一个已运行的活动,才能使服务正常工作,所以这就是我所拥有的
主要活动
import 安卓.app.Activity;
import 安卓.content.Context;
import 安卓.content.Intent;
import 安卓.os.Bundle;
import 安卓.widget.Toast;
public class StartActivity extends Activity {
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Context context = getApplicationContext();
CharSequence text = "Updater Started";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
startService(new Intent(this,UpdaterService.class));
finish();
}
}
我的意图
import 安卓.content.BroadcastReceiver;
import 安卓.content.Context;
import 安卓.content.Intent;
import 安卓.widget.Toast;
public class StartIntent extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent myIntent = new Intent(context, UpdaterService.class);
context.startService(myIntent);
CharSequence text = "Updater Started";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
最后是我的应用程序清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
package="com.package.removed"
安卓:versionCode="1"
安卓:versionName="1.0" >
<uses-sdk
安卓:minSdkVersion="10"
安卓:targetSdkVersion="19" />
<uses-permission 安卓:name="安卓.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission 安卓:name="安卓.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission 安卓:name="安卓.permission.INTERNET"/>
<uses-permission 安卓:name="安卓.permission.ACCESS_NETWORK_STATE"/>
<uses-permission 安卓:name="安卓.permission.ACCESS_SUPERUSER" />
<uses-permission 安卓:name="安卓.permission.RECEIVE_BOOT_COMPLETED" />
<application
安卓:allowBackup="true"
安卓:icon="@drawable/ic_launcher"
安卓:label="@string/app_name"
安卓:theme="@安卓:style/Theme.NoDisplay">
<activity
安卓:name="com.package.removed.StartActivity"
安卓:label="@string/app_name" >
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver 安卓:enabled="true" 安卓:name=".StartIntent" 安卓:exported="false" />
<intent-filter>
<action 安卓:name="安卓.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</application>
</manifest>
基本上我的祝酒词从来没有展示过,有人知道我错过了什么吗
# 1 楼答案
你的
intent-filter
在receiver
之外。应该是这样的: