『壹』 寫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客戶服務中心檢測處理。
溫馨提示:
① 清除系統桌面數據會重置桌面布局、排版。
② 各機型因版本不同可能導致設置路徑不一致,具體路徑以實際操作為准。