我为大型商店编写了一个Android应用程序,用于生产检查。我有一些安装了应用程序的Android平板电脑,每个都将提供给商店。
由于此平板电脑的唯一目的是运行单个应用程序,是否有办法在启动平板电脑时强制启动此应用程序,并且只允许使用此应用程序?该应用确实需要一个有效的4G连接,因此它仍然需要使用Android的一些核心功能以及实际运行该应用程序。
我不太了解这一点,所以提前向天真道歉,但是有人可以为我阐明这个吗?
答案 0 :(得分:0)
首先,您需要AndroidManifest.xml中的权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
此外,在yourAndroidManifest.xml中,定义您的服务并侦听BOOT_COMPLETED操作:
<service android:name=".MyService" android:label="My Service">
<intent-filter>
<action android:name="com.myapp.MyService" />
</intent-filter>
</service>
<receiver
android:name=".receiver.StartMyServiceAtBootReceiver"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
然后你需要定义接收器,它将获得BOOT_COMPLETED动作并启动你的服务。
public class StartMyActivityeAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
Intent serviceIntent = new Intent(context, MyActivity.class);
context.startService(serviceIntent);
}
}
}