答案 0 :(得分:1)
安装应用程序后无法启动UI或服务,但您可以做的是听一些意图行动。从广播接收器开始你想要的任何东西。
您需要在清单中注册接收器,例如PHONE_STAT_CHANGE,收到消息,SCREEN UNLOCK等。您可以在自己的应用中听到很多意图并启动任何你想要的内容。
P.S: - 在开发者网站上搜索名称不正确
答案 1 :(得分:0)
不,这是不可能的。在您开始Service
之前,用户必须明确地启动您的应用程序。遗憾。
答案 2 :(得分:0)
Deepak你可以通过广播接收器启动服务a,通过指定你想要激活广播接收器的基础,你可以在清单中声明广播接收器
<receiver android:name=".BroadCast"
android:enabled="false">
<intent-filter>
<action android:name=
"android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
收到电话时应激活
你可以像
一样打电话给你的服务public class BroadCast extends BroadcastReceiver{
Context context = null;
@Override
public void onReceive(Context context, Intent intent)
{
Intent dndService = new Intent(context,
ContactService.class);
dndService.putExtra("phone_nr", number);
context.startService(dndService);
}
}
当手机响铃时,您的广播接收器将被激活并启动服务,您可以通过该服务启动
等活动。public class ServiceExample extends IntentService {
public ServiceExample () {
super("ServiceExample ");
// TODO Auto-generated constructor stub
}
@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
Intent.intent = new Intent(this , Example.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent );
}
}
并且你需要在活动之前添加这一行,否则它会给你一个崩溃
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
答案 3 :(得分:0)
我认为最好先考虑在服务onStartCommand中让您的服务“返回START_STICKY”。
然后你可以添加一个启动监听器,如下所示; 1.在你的舱单上,请求许可:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
然后有一个广播列表器设置来监听启动:
public class MyBroadcastreceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startServiceIntent = new Intent(context, MyService.class);
context.startService(startServiceIntent);
}
您的服务将无限期运行,如果由于内存丢失而停止,则可以在资源可用时自动重启;