‘壹’ 写android程序时怎么创建一个没有界面的程序啊,我想写一个服务程序。
一、
package com.example.zhuanhuan;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import com.example.zhuanhuan.MainActivity;
import com.example.zhuanhuan.R;
import com.example.zhuanhuan.KkkActivity;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button zhuceButton = (Button) findViewById(R.id.button2);
Button dengluButton = (Button) findViewById(R.id.button1);
final EditText yonghumingEditText = (EditText) findViewById(R.id.editText1);
final EditText mimaEditText = (EditText) findViewById(R.id.editText2);
zhuceButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(MainActivity.this, KkkActivity.class);
startActivity(intent);
}
};
dengluButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
FileInputStream fis = new FileInputStream(Environment.getExternalStorageDirectory().getPath()+"/"+ yonghumingEditText.getText().toString());
byte[] input = new byte[fis.available()];
while(fis.read(input) != -1 );
fis.close();
//Toast.makeText(getApplicationContext(), new String(input), Toast.LENGTH_SHORT).show();
String mimaString = new String(input);
if (mimaString.equals(mimaEditText.getText().toString())==true) {
Toast.makeText(getApplicationContext(), "成功登陆", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setClass(MainActivity.this, QqqActivity.class);
startActivity(intent);
}
else {
Toast.makeText(getApplicationContext(), "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
二、
package com.example.zhuanhuan;
import java.security.PublicKey;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class QqqActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.qqq);
Button fanhuiButton = (Button) findViewById(R.id.button2);
Button jianceButton = (Button) findViewById(R.id.button1);
jianceButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "注册成功", Toast.LENGTH_SHORT).show();
Intent new = new Intent();
intent.setClass(QqqActivity.this, MainActivity.class);
startActivity(intent);
}
});
fanhuiButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(QqqActivity.this, AaaActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.qqq, menu);
return true;
}
}
三、
package com.example.zhuanhuan;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.example.zhuanhuan.MainActivity;
import com.example.zhuanhuan.R;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class KkkActivity extends Activity {
private File writeFile;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.kkk);
Button backButton = (Button) findViewById(R.id.button1);
final EditText yonghumingEditText = (EditText) findViewById(R.id.editText1);
final EditText mimaEditText = (EditText) findViewById(R.id.editText2);
backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
File writeFile = new File(Environment.getExternalStorageDirectory().getPath(), yonghumingEditText.getText().toString());
if (!writeFile.exists()) {
try {
writeFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
String abcString = mimaEditText.getText().toString();
FileOutputStream fos;
try {
for = new FileOutputStream(writeFile);
fos.write(abcString.getBytes());
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent intent = new Intent();
intent.setClass(KkkActivity.this, MainActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.kkk, menu);
return true;
}
}
四、
package com.example.zhuanhuan;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class AaaActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aaa);
Button jianceButton = (Button) findViewById(R.id.button1);
jianceButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(AaaActivity.this, QqqActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.aaa, menu);
return true;
}
}
‘贰’ 为什么华为手机下载的软件在桌面儿上没有显示
华为手机下载的软件在桌面上没有显示是手机持有者设置不当的原因,解决的方法和步骤是:
1、打开华为应用市场后点击上方的“管理”。
‘叁’ Android 后台应用 无界面,怎么启动service
完全没有界面,那应该是 AndroidManifest.xml 文件里一个activity也没有声明.
没有声明activity就肯定没有一个响应如下配置的intent:
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
没有这个配置应用程序就没有入口.
没有入口就无法启动应用程序进程.
应用程序进程都起不来,service肯定也起不来.
=========================================
所以要启动一个完全没有界面的apk包中的service,那只能由其他进程来启动了.
比如如下service:
<manifestxmlns:android="
package="no.ui.app"
android:versionCode="1"
android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
......
<service
android:enabled="true"
android:name="no.ui.app.i_am_service"
android:process="i_am_service">
<intent-filter>
<actionandroid:name="no.ui.app.start_service"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
</application>
</manifest>
安装了这个apk后,在另一个apk的某个地方调用
就可以启动这个service了.
startService(newIntent("no.ui.app.start_service"));
‘肆’ 手机桌面应用图标消失不见了怎么办
手机桌面应用图标消失不见的排查方法:
1、查看手机是否有设置多用户模式,若有设置多用户模式,更换主人密码进入手机查看有无该应用。
2、桌面上滑是否会进入抽屉模式,若进入抽屉模式,在抽屉模式中查找有无该应用;若找到应用后,长按应用图标拖动可移动至桌面。
3、清除系统桌面数据。
ColorOS 12及以上版本:“设置 > 应用 > 应用管理 > 应用列表 > 点击右上角“:” 显示系统进程 > 系统桌面 > 存储占用”,清除数据后查看是否恢复。
ColorOS 7.0-11.3版本:“设置 > 应用管理 > 应用列表 > 点击右上角“:” 显示系统进程 > 系统桌面 > 存储占用”,清除数据后查看是否恢复。
4、部分系统应用误删后,通过“设置 > (应用) > 应用管理 > 系统可卸载应用找回”找回。
5、查看隐藏桌面图标是否开启。
ColorOS 12及以上版本:进入“设置 > 权限与隐私 > 应用隐藏 ”
ColorOS 11.0-11.3版本:进入“设置 > 隐私 > 应用隐藏”
ColorOS 7.0-7.2版本:进入“设置 > 安全 > 应用加密> 应用隐藏”
首次开启隐藏桌面图标,会弹窗提示“设置访问号码”,设置 以#开头且以#结束的1-16位数字的访问号码 ,设置完成后应用即被隐藏,在拨号盘输入设置好的访问号码,即可查看被隐藏的应用。
6、若上述方法无法解决您的问题,建议您备份资料,恢复手机出厂设置或携带购机发票、保修卡和手机前往就近的OPPO客户服务中心检测处理。
温馨提示:
① 清除系统桌面数据会重置桌面布局、排版。
② 各机型因版本不同可能导致设置路径不一致,具体路径以实际操作为准。