小编Mis*_*Dev的帖子

Android:更新后重启应用程序 - ACTION_PACKAGE_REPLACED

我的应用程序不在Play商店上验证在网络上如果有新版本并下载并启动它.安装完毕后,我想重新启动应用程序,我会用一个BroadcastRecevierACTION_PACKAGE_REPLACED.这是代码:

广播:

public void onReceive(Context context, Intent intent) {
  if(intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED)){
    ApplicationInfo app = new ApplicationInfo();
    if(app.packageName.equals("it.android.downloadapk")){
      Intent LaunchIntent = context.getPackageManager().getLaunchIntentForPackage(app.packageName);
      context.startActivity(LaunchIntent);                    
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

表现:

<receiver android:name="it.android.downloadapk.Broadcast">
  <intent-filter>
    <action android:name="android.intent.action.ACTION_PACKAGE_REPLACED"></action>
    <data android:scheme="package" android:path="it.android.downloadapk" /> 
  </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

问题是,当我安装新的apk时,广播似乎没有启动,为什么?

android broadcast

22
推荐指数
2
解决办法
2万
查看次数

LibGDX读取XML文件

我有这个XML文件:

<pack name="Cappellino" num_monete_livello="1100">
  <level number="1" status="nolocked" />
  <level number="2" status="locked" />
  <level number="3" status="locked"/>
</pack>
<pack name="Canottiera">
  <level number="4" status="locked"/>
  <level number="5" status="locked"/>
  <level number="6" status="locked"/>
  <level number="7" status="locked"/>
</pack>
<pack name="Tuta">
  <level number="8" status="locked"/>
  <level number="9" status="locked"/>
  <level number="10" status="locked"/>
 </pack>
Run Code Online (Sandbox Code Playgroud)

要读取此文件,我使用以下代码:

XmlReader xml = new XmlReader();
XmlReader.Element xml_element = xml.parse(ProgressFileHandle);
Iterator iterator_level = xml_element.getChildrenByName("level").iterator();
while(iterator_level.hasNext()){
     XmlReader.Element level_element = (XmlReader.Element)iterator_level.next();
     String level_number = level_element.getAttribute("number");
     String level_status = level_element.getAttribute("status");
 }
Run Code Online (Sandbox Code Playgroud)

问题是代码只返回最后一个包,实际上该行XmlReader.Element xml_element = xml.parse(ProgressFileHandle);只返回给我:

<pack name="Tuta">
    <level …
Run Code Online (Sandbox Code Playgroud)

xml android xmlreader libgdx

4
推荐指数
1
解决办法
4594
查看次数

标签 统计

android ×2

broadcast ×1

libgdx ×1

xml ×1

xmlreader ×1